OK!!! here we go again!!!!

Discuss the future of Warzone 2100 with us.
Giel
Regular
Regular
Posts: 725
Joined: 26 Dec 2006, 19:18
Contact:

Re: OK!!! here we go again!!!!

Post by Giel »

DevUrandom wrote: Code which is or is going to be released, resides in /branches/. Eg. 2.0.6 is in /branches/2.0/. This is for bugfixes and tiny features.
Code which is in active development is in /trunk/.
That is to say, main development will take place in the trunk (/trunk/). Main development here means reasonably stable, yet untested, development. This means that the trunk should always compile, and run reasonably predictable. Ofcourse mistakes are made so both of those two conditions can be violated at some times but should be corrected rather fast. (Apart from mistakes, these two conditions are usually met.)

Then as for branches we should really distinguish between two distinct kinds of branches:
  • release branches;
  • development branches
Release branches are branches ment to stabilize the codebase, so these should only receive bugfixes, and at rare occasions small feature expansions. (E.g. the 2.0.x branch is a release branch in this respect, /branches/2.0/)

Development branches are branches for certain lines of development which will most likely cause a severe destabilization of the regular codebase. So to prevent severe destabilization of the trunk they're moved into an isolated area (the respective dev branch), so they don't cause problems for people working on the trunk. (E.g. the sound branch is a development branch by this definition, /branches/sound/)
DevUrandom wrote: The revision is a versioning number SVN provides for the whole source. It is not specific for stable or development version. From a simple revision number you can not immediately see whether it was a change to the /trunk/ or to /branches/2.0/. This number is not updated by us, but by SVN when we "upload" code into the repository. It can _not_ be seen as a release. It merely is something for developers so they know about which change to the sourcecode someone is talking.
That is to say, revision numbers in combination with the respective branch (or trunk) can be used as a means of identification, but are nothing more than that: a means of identification.
DevUrandom wrote: Maybe you want to have a look into the SVN manual for the basics...
That might help to understand how Subversion works. It still lacks the why though, that's a design philosophy, which although it doesn't receive as much attention in the SVN-book is just as important (maybe even more). That however is the result from the fact that large parts of this philosophy are not specific to Subversion only, but to version control in general.

PS: the parts of the Subversion manual on branching & tagging focus mainly on how to branch/tag as opposed to how it would have to be done using CVS (Subversion's predecessor).
Last edited by Giel on 20 May 2007, 13:44, edited 1 time in total.
"First make sure it works good, only then make it look good." -- Giel
Want to tip/donate? bitcoin:1EaqP4ZPMvUffazTxm7stoduhprzeabeFh
Giel
Regular
Regular
Posts: 725
Joined: 26 Dec 2006, 19:18
Contact:

Re: OK!!! here we go again!!!!

Post by Giel »

Some info about branching:
"First make sure it works good, only then make it look good." -- Giel
Want to tip/donate? bitcoin:1EaqP4ZPMvUffazTxm7stoduhprzeabeFh
UrbanVoyeur
Trained
Trained
Posts: 50
Joined: 10 Mar 2007, 05:03
Location: NYC

Re: OK!!! here we go again!!!!

Post by UrbanVoyeur »

added giel's comments to the wiki.
User avatar
lav_coyote25
Professional
Professional
Posts: 3434
Joined: 08 Aug 2006, 23:18

Re: OK!!! here we go again!!!!

Post by lav_coyote25 »

i thankyou all for the input. is appreciated.  :)
‎"to prepare for disaster is to invite it, to not prepare for disaster is a fools choice" -me (kim-lav_coyote25-metcalfe) - it used to be attributed to unknown - but adding the last bit , it now makes sense.
Post Reply