An SVN Re-arrangement

An SVN Re-arrangement

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

An SVN Re-arrangement

Post by AF »

I propose that all lobby related projects be re-arranged into a /lobby/ subfolder, including unitsync, TASServer, TASClient, AFLobby, Springie, UnityLobby, the old C# lobby and Omni.

It would make /trunk look cleaner, and thus easier to navigate, reconciling 5 root folders into 1.
Kloot
Spring Developer
Posts: 1867
Joined: 08 Oct 2006, 16:58

Post by Kloot »

Yeah, good idea.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Would be a good plan.
User avatar
Neddie
Community Lead
Posts: 9406
Joined: 10 Apr 2006, 05:05

Post by Neddie »

Good idea.
User avatar
Snipawolf
Posts: 4357
Joined: 12 Dec 2005, 01:49

Post by Snipawolf »

Nothing wrong with tidying something up.
User avatar
KDR_11k
Game Developer
Posts: 8293
Joined: 25 Jun 2006, 08:44

Post by KDR_11k »

Would also be nice to split the engine from the website in the SVN so when 5MB worth of website gets changed we don't have to download that when we're just interested in the engine.
Auswaschbar
Spring Developer
Posts: 1254
Joined: 24 Jun 2007, 08:34

Post by Auswaschbar »

Would also be nice to split the engine from the website in the SVN so when 5MB worth of website gets changed we don't have to download that when we're just interested in the engine.
> cd rts
> svn up

will do the trick
imbaczek
Posts: 3629
Joined: 22 Aug 2006, 16:19

Post by imbaczek »

not really, there's also SConstruct that changes sometimes.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

AIs and lobbies, the stuff in the tools folder too
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

I'm fine with moving the site around if needed as there are little hard coded paths at this moment.
Maybe you (Tom) can make a more detailed plan on how to rearrange svn?
semi
Posts: 69
Joined: 30 Mar 2007, 20:42

Post by semi »

I suggest that everything necessary to compile and install the game itself is moved into a subdirectory called something like Game.

This means the following dirs and files:
AI Documentation Doxyfile game installer LICENSE.html lua README.html README.MACOSX.txt rts SConstruct tools/unitsync

Then as AF suggested, another folder Lobby, which contains:
AFLobby omni TASClient TASServer UnityLobby

This would leave trunk with the following dirs:
Game Lobby Site

and these stray thingies which I couldn't place properly:
backup (who needs a dir called backup in a version control system anyway), crashrpt (perhaps this should be in tools/ or libs/ or sth like that), tools (might be renamed Tools and kept in trunk/), and directories.txt which seems to belong there.

This would have the benefit that if you want to download and install the game itself, you only need to checkout trunk/Game and even more so for automated svn installers that do this for you, which would reduce the burden on both the svn server and the user, and make the relevant source tarballs smaller.
.

Not much point in moving Site dir, as it's already in toplevel, and moving it deeper would not make it easier to leave it out of checkout when not needed/desired.

Oh and when you want to update your spring trunk/ without getting any Site updates, do this (works at least in bash):

Code: Select all

svn up $(ls -I Site)
My proposed changes would in effect make the common case svn checkout be one third of the original size in MB.
User avatar
Tim Blokdijk
Posts: 1242
Joined: 29 May 2005, 11:18

Post by Tim Blokdijk »

Sounds good but I would rearrange trunk like this:
Engine Lobby Site Tools Content

And move the mods back to trunk/Content
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

I agree that 'engine' would be a better folder name than 'game'.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

Basically I agree, not sure about all change though, but the following should be fine as first step:
  • trunk/Lobby/ with TASServer, TASClient, AFLobby, UnityLobby, backup/SomeLobbies and maybe some other stuff in it (may need to drag in the more recent UnityLobby code from hollowsoul's own SVN to make it truely useful to keep it alive there).

    Note that I don't think it is a good idea to put unitsync there because unitsync needs to be compiled and depends on Spring source files, so it isn't truely a separate project.
  • In an Engine directory:
    • Engine/src directory containing current rts and tools/unitsync and other tools with a heavy source code dependency on the engine (none at this moment, I think, but a unitsync V2 may be written some time..., or a stand alone game server using same server code as engine, etc.)
    • Engine/game
    • Engine/installer
    • Engine/Documentation
    • and the files: Doxyfile, LICSENSE.html, README.html, README.MACOSX.txt, SConstruct
I do not think AI's should be placed in the Engine directory, though this creates a problem with the build system as I vaguely recall scons refuses to build stuff not below the current directory (which would be why I moved SConstruct from trunk/rts/SConstruct to trunk/SConstruct as long time ago when I added building of AIs). I'm still thinking about a good solution for this.
Tobi
Spring Developer
Posts: 4598
Joined: 01 Jun 2005, 11:36

Post by Tobi »

I made the /Lobby/ modification, removed /backup/ and moved Lua to the right place. I hope this doesn't interfere with anyone's development process.
Post Reply

Return to “Engine”