Author Topic: New Svn Server  (Read 2192 times)

Offline BlackBox

  • Administrator
  • Hero Member
  • *****
  • Posts: 3093
New Svn Server
« on: December 06, 2005, 05:25:53 PM »
Hey to all the developers,

I've added a new "feature" to the community for development. It's a Subversion server.

Subversion (SVN) is sorta like the CVS system for version control. It's a lot nicer though. (Read on to know more).

If you don't know how version control systems work, or haven't used SVN before, read chapters 2 and 3 of this manual located here.

I figured it would be useful for sharing and working on various code together, such as the SDK headers, the Internal Info text files, as well as the OPU version of IBStore, which is running at http://forum.outpostuniverse.net/test/

The system isn't fully working yet, namely, no one is able to commit changes yet. (This I plan on dealing with as soon as I have a system to allow individual access control for different projects in the repository, which should happen within the week.) However, you can checkout the current sources in the repository.
To get started with it, download Subversion from here. This is the bare minimum you'll need to checkout the latest sources.

You can then checkout the different trees by running the following command, for example to checkout the IBStore source, change directory to where you want to save the source tree, then run the command:
Code: [Select]
svn checkout svn://outpostuniverse.net/repos/IBStore3.0-OPU

Also, have a look at http://outpostuniverse.net/~svnopu/listing.php (It should be http://svn.outpostuniverse.net/ but DNS is failing us, as usual). This is the web interface to SVN, you can examine the repository this way.

You may wish to install a GUI tool to make accessing SVN a lot easier. This is no problem. You can download TortoiseSVN from here, which is a shell extension to the SVN client. (You still need to download SVN from up above for this to work)

With TortoiseSVN installed, you can right click where you want to save the source tree, go to SVN Checkout, and enter the repository name for the source tree (as above, for IBStore it is svn://outpostuniverse.net/repos/IBStore3.0-OPU )

As this is still somewhat "unfinished" for us, it's not to be 'released' to the public at this time. Later I may implement access controls to prevent the usual public from checking out certain sources.

If you had no clue what all is meant by repositories and such, I urge you to go read Ch2 and 3 of that manual link posted above.

Again, I hope this is a good addition for developers and will enable us to work together on projects more easily.

-- op2hacker

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4055
New Svn Server
« Reply #1 on: December 07, 2005, 03:21:11 AM »
Yea sweet work, great. Maybe there will be public projects/source and closed projets/source like the sdk where only the dev team edit it?

Offline BlackBox

  • Administrator
  • Hero Member
  • *****
  • Posts: 3093
New Svn Server
« Reply #2 on: December 07, 2005, 06:07:35 PM »
Yeah, probably. Some projects I don't really want people to start editing on. Especially when there could be some people in the community (I won't name names) who would want to edit source code just to insert childish remarks. (I think a lot of people know who I'm referring to)

As for access control, there's no real way to limit checkouts to just a certain part of the repository (it's either anyone can checkout all code in the repository, or only registered users can).
The only way around this would be to make another repository with no public access. (I'd probably create repositories for large projects, for example if they want to use it for Genesis, I'll give them their own repository).

However, I can specify on a per directory/file basis who is allowed to commit where. Each repository can have it's own configuration in this manner.

Speaking of which, I've implemented this system. All that's left is for me to write a web interface to the access control lists so the administrators can add users or change user rights without having to ssh in and edit some obscure config files.

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4055
New Svn Server
« Reply #3 on: December 08, 2005, 02:07:47 AM »
lol moogle..

it does sound quality! good work, this is kinda like wiki, something we should of allways had.

we dont rly need op2 internal info on there do we? it should be on the wiki? or maybe its fine there so ppl can update it and then whoevea edits it should edit wiki page also.

what ya think?

Offline BlackBox

  • Administrator
  • Hero Member
  • *****
  • Posts: 3093
New Svn Server
« Reply #4 on: December 08, 2005, 02:22:43 PM »
well, i guess as it is a sorta programming related thing it's probably better off on SVN.
Besides, only 'real' coders will be able to commit (edit) to the SVN server.. so the information would probably be of higher quality.

Perhaps we could write a wiki 'bot' that imports the data from the repository into the wiki.

By the way, should we even have some of this information out in the open? It could probably allow people to cheat or create in other ways unfair DLLs.
« Last Edit: December 08, 2005, 02:23:10 PM by op2hacker »

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4055
New Svn Server
« Reply #5 on: December 08, 2005, 03:11:47 PM »
The cheats info aint in the open, and if you think anything else shouldnt be then remove it.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 4955
New Svn Server
« Reply #6 on: December 08, 2005, 09:51:09 PM »
I think the programming information would be better off using the SVN thing. The part that allows for merging of changes will be really helpful too. Especially since people working on that stuff tend to just edit locally saved files. With the SVN setup, it sounds like you can just commit the new file and it'll merge any changes. Which is nice, because those files tend to be edited sparsely, so it's not easy to remember what changes you've made. It also means you don't have to worry about overwriting someone else's stuff if you just pasted a complete update.

And yeah, careful with some of that internal info stuff. Some of it could be used for cheating.