SubVersion for a more flexible Torque?
by Steven Peterson · in Technical Issues · 03/29/2006 (3:41 pm) · 7 replies
So i've been playing with SubVersion this week and trying to figure out how I can make the most of it.
To my understanding I could import a clean TGE and then implement all my favorite resources in individual branches. Then if I decide I want TGE to do 'xyz' I could just grab a working copy, and through a series of merges and a compile get any combination of my resources I want in a few minutes.
Does this sound right?
Has anyone used this approach before? (Or see good reason not to?)
[edit]
As i'm thinking about this more there's alot you could put in the branches:
- TGE code resources
- Torque Lighting Kit
- Art-Content-Packs
- Hacks for different compilers
[/edit]
To my understanding I could import a clean TGE and then implement all my favorite resources in individual branches. Then if I decide I want TGE to do 'xyz' I could just grab a working copy, and through a series of merges and a compile get any combination of my resources I want in a few minutes.
Does this sound right?
Has anyone used this approach before? (Or see good reason not to?)
[edit]
As i'm thinking about this more there's alot you could put in the branches:
- TGE code resources
- Torque Lighting Kit
- Art-Content-Packs
- Hacks for different compilers
[/edit]
#2
* branches/
* branches/tge-14-et2/
* resources/
* resources/compilers
* resources/content
* resources/tgecode
* resources/tlkcode
* tags/
* tags/tge-14/
* tags/tge-14-tlk/
* tags/tge-1401/
* tags/tge-1401-tlk/
* trunk/
- TGE 1.4 is in trunk/ and I made some bug-fixes there which became tge-1401. TLK is a branch in resources/tlkcode.
- Resources are the same as branches, except their well, resources.
- resources/compilers/ is for changes to adapt TGE to a new compiler (MSVC-EE) not the compiler it'self.
- branches are for code-development
To add changes:
1) Check out working copy of "tge-14" tag
2) Branch to new branchs/mydir/ or resources/mydir/
3) Make changes in working copy
4) Changes should ONLY EVER be added through a COMMIT to an EXISTING branch
To add the TLK over TGE as I did:
1) Follow steps 1, 2, 3 above
2) copy TLK-SDK over working-copy of TGE-SDK except /lib/xiph/macosx
3) Do a subversion-delete of /lib/xiph/macosx
4) Commit changes, most or all conflicts (approx 9) can be solved by "use my version" ie. the TLK version
** MAKE SURE "THE SELECT/DESELECT ALL" BOX IS CHECKED ON THE COMMIT SCREEN SO ALL NEW TLK FILES GET ADDED!
5) NOW copy in the TLK version of /lib/xiph/macosx, do a subversion-ADD and re-commit
6) Do a fresh checkout of the branch to a new folder, compile to ensure it works
7) If it's ok, tag the first working copy - that you didn't run compile in yet so you have it all nice and clean!
So figureing this out, in the right order, transfering the entire SDK over a 10mb/s DSL connection to my web-host on each attempt has taken about a week, and cost me nearly $100 on ebay. So there - I hope it helps someone else...
04/06/2006 (8:55 am)
So I've learned a few things along the way. Here's my tree:* branches/
* branches/tge-14-et2/
* resources/
* resources/compilers
* resources/content
* resources/tgecode
* resources/tlkcode
* tags/
* tags/tge-14/
* tags/tge-14-tlk/
* tags/tge-1401/
* tags/tge-1401-tlk/
* trunk/
- TGE 1.4 is in trunk/ and I made some bug-fixes there which became tge-1401. TLK is a branch in resources/tlkcode.
- Resources are the same as branches, except their well, resources.
- resources/compilers/ is for changes to adapt TGE to a new compiler (MSVC-EE) not the compiler it'self.
- branches are for code-development
To add changes:
1) Check out working copy of "tge-14" tag
2) Branch to new branchs/mydir/ or resources/mydir/
3) Make changes in working copy
4) Changes should ONLY EVER be added through a COMMIT to an EXISTING branch
To add the TLK over TGE as I did:
1) Follow steps 1, 2, 3 above
2) copy TLK-SDK over working-copy of TGE-SDK except /lib/xiph/macosx
3) Do a subversion-delete of /lib/xiph/macosx
4) Commit changes, most or all conflicts (approx 9) can be solved by "use my version" ie. the TLK version
** MAKE SURE "THE SELECT/DESELECT ALL" BOX IS CHECKED ON THE COMMIT SCREEN SO ALL NEW TLK FILES GET ADDED!
5) NOW copy in the TLK version of /lib/xiph/macosx, do a subversion-ADD and re-commit
6) Do a fresh checkout of the branch to a new folder, compile to ensure it works
7) If it's ok, tag the first working copy - that you didn't run compile in yet so you have it all nice and clean!
So figureing this out, in the right order, transfering the entire SDK over a 10mb/s DSL connection to my web-host on each attempt has taken about a week, and cost me nearly $100 on ebay. So there - I hope it helps someone else...
#3
04/09/2006 (5:15 am)
Which SVN client do you use?
#5
altho most of the other engineers working on the same project use the command line via CygWin or similar.
04/09/2006 (8:24 pm)
I use tortoiseSVN and it's pretty good,altho most of the other engineers working on the same project use the command line via CygWin or similar.
#6
I used to use CVS(on *nix platforms) but whenever I needed to do somthing intresting like move a branch, or roll back a change, I could never find the right command or flag-combination, or someone else who knew CVS.. And winCVS and I have never gotten along well, so it was time for a change..
04/09/2006 (8:34 pm)
I also use tortoiseSVN and it's been excellent. I would learn the command line but don't have time/engergy for it right now and 'man' doesn't seem to work in windows, and the gui seems to handle everything for me :-)I used to use CVS(on *nix platforms) but whenever I needed to do somthing intresting like move a branch, or roll back a change, I could never find the right command or flag-combination, or someone else who knew CVS.. And winCVS and I have never gotten along well, so it was time for a change..
#7
04/10/2006 (3:31 am)
Okies *goes to try it out*
Torque 3D Owner Jonathon Stevens