Author Topic: SVN Server back up  (Read 1823 times)

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
SVN Server back up
« on: January 30, 2015, 03:57:39 PM »
Some time ago we had a Subversion server running at opu, where people could upload their projects (new maps or mods and other stuff). Due to several issues the server was unavailable for some time. Today, Hooman supplied us the complete database and thus allowed us to bring the server back up.

Please be aware that we didn't preserve old accounts. You can checkout anonymously, but in order to commit your local changes you must get an account from Leviathan.


Those who are already familiar with svn can simply checkout from https://svn.outpostuniverse.org:8443/svn/outpost2.


For everyone else, here follows a short introduction, that Hooman posted when he first created the server. Also, please read the usage note below.

To get an SVN client, I recommend Tortoise SVN, which you can get here:
http://tortoisesvn.tigris.org/
Or, just right to the download page:
http://tortoisesvn.net/downloads

Tortoise SVN is a Windows shell extension. You can just right-click on folders on your computer and select the appropriate action from the context menu.

[...]

Typical Usage
Repository Browser: You can view the repository by right-clicking pretty much anywhere in Explorer (not IE, just Windows Explorer) and going to TortoiseSVN -> Repo-browser. Enter the URL (svn://68.146.111.58/outpost2/) and click ok.

Export: Export lets you get a copy of a subtree from the repository. This is most suitable if you don't intend to commit any changes. (You're just leeching the file). Choose TortoiseSVN -> Export..., and then enter the Repository URL of the subtree you'd like to retrieve. You can click on the "..." to open the Repository Browser to select the right folder. You probably want to do this into a new empty folder. It defaults to storing the local copy in whatever folder you've right-clicked on, or had selected when you opened the context menu.

Checkout: Checkout lets you get a "working copy" of a subtree from the repository. This is what you need to do if you intend to submit changes. (You're also free to use this option if you're only leeching, as it in no way locks out anyone from getting or changing files on the server). Checkout creates an extra .svn folder in each of the checked out folders. This extra .svn folder contains a cached copy of each of the files that were checked out. This lets the client do a diff (compare) of the last checked out version of the file with the current working copy, so when changes are submitted to the server, only the difference needs to be sent rather than the whole file. This can save a lot of time for commits of large files. It also lets you revert any changes you make without needing to contact the server, which is particularly convenient if you're no longer connected to the internet. Checkout works pretty much the same as the Export option, except you just select the "SVN Checkout...".

Update: Update lets you download changes to a working copy. You must have already run Checkout to see this option. It is only available on checked out folders. If you check out a copy, and then someone submits a change to the server, you can run Update to download a copy of the change. The change is sent as a diff from your last checked out version, so it should run fairly fast for small updates, even on large files. If you changed the same local file that was updated on the server, then you will be informed of this. It won't just overwrite your local changes.

Commit: Commit (aka checkin) lets you submit changes from your working copy to the server. You must have already run Checkout to see this option. It is only available on checked out folders. Note: You need to have write access to do this. The server I set up requires a login name and password before you can run a commit.


Diff: To see a list of changes between revisions of a checked out copy, by choosing TortoiseSVN -> Revision graph, and using Ctrl+click to select the two revisions you want to compare, and then right-click to see a menu of possible compare options.


If you take turns editing files, that's all you'll need to know. If two people work concurrently on the same file, then there are a few more things you'll need to know regarding Conflicts and Merging. You can check the help file or the Subversion book (see below) for details on how to handle this.


For More Information
The official SVN site is here: http://subversion.tigris.org/ (SVN server download, and a command line client)  (You guys don't need this)
The Subversion book can be downloaded in multiple formats here: http://svnbook.red-bean.com/ (but again, you don't really need it, since this is basically included in the Tortoise SVN package). (It's a good book too).


I've noticed more people have been using the SVN repository as of late. I thought maybe it's time to start adding some suggested usage notes. Some of these options are a bit hidden, and others are more obvious if you have experience working with SVN, or know a bit about how it works internally. Some are just to help communicate better with other developers.


1) You should enter a log message with your commit to summarize why the change is being made. This can be really simple, but generally shouldn't be blank. Take a look at the log for examples of messages. This makes searching for a specific change easier. Examples might be "Added new project X", or "Fixed bug X", or "Added feature X".

2) You should (usually) only commit source files, not compiler outputs. The compiler outputs are perhaps more useful in a release pack (zip/rar) rather than in the repository, or in cases where there is no source code and work is done directly on the binary code, such as patches to Outpost2.exe. You should not generally commit compiled DLL files for level projects, and you should definately not commit intermediate files, such as .obj files. I generally add an ignore for any Debug/, Release/, or Release-MinSize/ folder to ensure they don't get accidentally committed. Files which should be committed are source files (.cpp, .h), and project/workspace (solution) files (.dsw, .dsp for MSVC6, .sln, .vcproj for Visual Studio 2008). If both MSVC 6 and VS2008 project files exist, and both contain the same data, then I have a preference for only storing the MSVC 6 project files. The MSVC 6 project files can be auto upgraded to VS2008 versions, but you can't open the VS2008 project files in MSVC 6, which a lot of people still use. If you make changes to the project file using VS2008, then by all means, commit the VS2008 project files to the repository. You should probably not commit other files that are generated automatically by your development environment. Also, be aware that the other files may contain personal information, such as your login account name.

3) You should not constantly add and remove files to update them. If you make changes to a file, you may notice Tortoise SVN has a little red exclaimation icon overlaid on top of the file's icon. This is to let you know that your local working copy has changed from the last sync with the repository. The proper way to push that change to the repository, is with an SVN commit (or perhaps an SVN revert). Doing an SVN delete, following by an SVN add is a lot more expensive in terms of storage costs in the repository, and it also breaks history (the log) and requires more bandwidth for the new addition. The strength of SVN is that is stores changes to files between version, rathern than complete copies of each version.

4) If you are creating a new branch of an existing project in the repository, or perhaps starting a new one using an old project as a template, try using SVN copy. Again, this is cheaper in terms of repository storage, and you can potentially trace history across the copy to see where the project comes from. For instance, when creating a new level, you can potentially start with an SVN copy of the blank template project. To do an SVN copy from Windows Explorer, right-click drag the file or folder to it's new destination. When you release the right mouse button, a menu will pop up asking you what you want to do. You can choose SVN copy, SVN move, regular copy, and regular move.

5) Use SVN move to move or rename an existing file. Again, this is cheaper to store, and doesn't break history. See note 4, as it uses the same right-click drag method as SVN copy.
« Last Edit: January 31, 2015, 08:29:38 AM by TH300 »

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1398
    • LairWorks Entertainment
Re: SVN Server back up
« Reply #1 on: January 30, 2015, 04:47:50 PM »
It's great to see that some of the defunct services are being brought back to life.

Lev, I'll get in touch with you directly on IRC but I would like an SVN account so I can make commits myself.

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4114
Re: SVN Server back up
« Reply #2 on: January 30, 2015, 07:25:12 PM »
Hey all!

I was never around during the SVN years and when some great work happened! Really pleased that we have this and it was not lost. All of the SVN history is in here dating back to 2008. Thank you again to Hooman and everyone who contributed towards it. Oh yeah.. I will get a proper SSL cert on the server in the near future.

You can access the SVN with a SVN client and also via a web browser to view it.

Have updated the OP2 files and taged the new OP2 ver:
GameDownload\Outpost2\tags\Outpost2-1.3.0.5-Final-OPU



Message me if you would like an account.
« Last Edit: February 02, 2015, 11:23:47 AM by Leviathan »

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4114
Re: SVN Server back up
« Reply #3 on: February 03, 2015, 07:19:10 AM »
Help with SVN checkout:



URL of repo: https://svn.outpostuniverse.org:8443/svn/outpost2

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3709
Re: SVN Server back up
« Reply #4 on: March 16, 2015, 11:07:27 AM »
I'm getting spammed upon connect by messages about an invalid server certificate.
"Unknown certificate issuer"
"Hostname mismatch (SVN)"

Offline Lukc

  • Newbie
  • *
  • Posts: 46
    • http://lukc.upyum.com
Re: SVN Server back up
« Reply #5 on: March 16, 2015, 12:44:06 PM »
Could we please switch to git or mercurial?

Having a centralized VCS is a pure source of trouble. In particular knowing that this particular svn has been known to disappear. :|

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3709
Re: SVN Server back up
« Reply #6 on: March 16, 2015, 11:49:14 PM »
A distributed VCS would be nice. We tried switching from SVN to Git before, but nobody really knew how to use Git, and development basically just stalled. I don't think things ever really recovered from that switch. But yeah, the benefits of not relying on a central server would be really nice.

I've considered GitHub, which is free for open source. Our repository is publicly readable after all. Mind you, putting the game download there, which is copyrighted material, might be a bad thing.

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Re: SVN Server back up
« Reply #7 on: March 17, 2015, 12:03:03 AM »
Git was tried some time ago and afair it was only ever used by Galactic. Yes, git is better (in functionality), but svn is easier to use.

If you want a distributed vcs, I suppose its worth trying 'git svn'.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3709
Re: SVN Server back up
« Reply #8 on: March 17, 2015, 01:17:39 AM »
Another thought is that some online services offer repository access using multiple protocols. GitHub lets you access the repository using either Git or SVN clients.

An external host would also mean account management could be handled externally, which might be a good thing.

Or, tie repository write access to the forum database. If they have a forum account, and it more than a few days old, and has a few posts to it (so we can be sure they're not a spambot), then automatically give them write access.

I've thought of git-svn before. It sounds nice for working offline. I'm not sure it would solve the issue raised here though.

Offline Lukc

  • Newbie
  • *
  • Posts: 46
    • http://lukc.upyum.com
Re: SVN Server back up
« Reply #9 on: March 17, 2015, 01:20:21 PM »
I know about git-svn, and I have used it in the past, but it is more a workaround than a true solution. If for some reason the SVN server goes down again, people using git-svn would only be able to publish git clones anyway.

As for SVN being easier to use, I would have to disagree. Every use of Subversion is pain and suffering to me, while using other VCS’, like Mercurial or Monotone (when it still existed, uh) always seemed easy.

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Re: SVN Server back up
« Reply #10 on: March 20, 2015, 11:26:08 AM »
As long as I don't have to include personal information (like e-mail address) in my commits and as long as I don't have to register on 3rd party websites, I don't care which vcs we're using.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3709
Re: SVN Server back up
« Reply #11 on: March 21, 2015, 04:58:52 AM »
Hmm, interesting. Why are you opposed to 3rd party websites? Is it because you'd have to give an email address to register?

I've never liked the email part of the Git configuration, but you don't actually need to fill in that field, or you can just put in a different value, like say a forum name.

Offline TH300

  • Hero Member
  • *****
  • Posts: 1425
    • http://op3game.net
Re: SVN Server back up
« Reply #12 on: March 21, 2015, 06:19:45 AM »
Hmm, interesting. Why are you opposed to 3rd party websites?
I have observed that many websites that provide something for free track their users and use personal information for advertising and other questionable activities (or they include Google services which do that). I don't know if this is also true for Github, but since I'm not a lawyer, I won't even bother to read their ToS (I have done that a few times and most times I didn't understand them completely). Since I am strictly opposed to user tracking, I won't register on a website unless I am sure that it doesn't abuse the information that I leave there.

Offline Leviathan

  • Hero Member
  • *****
  • Posts: 4114
Re: SVN Server back up
« Reply #13 on: September 06, 2016, 01:45:26 PM »
Hi all!

Have installed a SSL cert to the SVN server, apologies for the delay.

Thank you to everyone who has contributed to the SVN, I hope we can continue to encourage sharing amongst the community.
 
If you would like a SVN account please contact myself or Leeor on IRC, an account is required for write-access.

Thanks

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1398
    • LairWorks Entertainment
Re: SVN Server back up
« Reply #14 on: September 06, 2016, 01:47:55 PM »
Only took 6 months of poking and prodding and pestering. :P :P

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3709
Re: SVN Server back up
« Reply #15 on: September 06, 2016, 06:43:26 PM »
Aha! Finally!  :D

Offline leeor_net

  • Administrator
  • Hero Member
  • *****
  • Posts: 1398
    • LairWorks Entertainment
Re: SVN Server back up
« Reply #16 on: September 06, 2016, 08:07:31 PM »
I know right???

Offline dave_erald

  • Full Member
  • ***
  • Posts: 244
Re: SVN Server back up
« Reply #17 on: September 09, 2016, 06:44:15 PM »
And there was much rejoicing.
I wrote a novella on this site, I can sorta code...

Outpost2 - Life at the End- 2015
Edits will show up in red

- David R.V.

Offline Hooman

  • Administrator
  • Hero Member
  • *****
  • Posts: 3709
Re: SVN Server back up
« Reply #18 on: September 10, 2016, 08:37:58 PM »
Had to eat something while we were waiting. ;)