SVN

Requests for assistance and other HOWTOs.

Moderator: Board moderators

Leaf
Forum Aficionado
Posts: 1994
Joined: Tue Apr 29, 2003 5:55 pm
Location: Minnesota, USA
Contact:

SVN

Post by Leaf »

Now that the migration from CVS to SVN is completed, what about support or help files specific for SVN & Crossfire?

For instance..

How do you "check out" the world maps?

What is the difference between the branch and trunk?

How do you "check in" changes?

If you make a change, where do you check in that change?
Branch, trunk or both?

Any (cross platform?) GUI apps out there for SVN?

How does one check out one map change for their/a local server?
Ex: I want to download the latest change to Goth's Tavern, but not the change to Scorn City Hall - how does one do that?

Or other questions that people might have.
"Put another, more succinct way: don't complain, contribute. It's more satisfying in the long run, and it's more constructive."
Eric Meyer
Rednaxela
Senior member
Posts: 434
Joined: Wed Jan 26, 2005 5:13 am

Re: SVN

Post by Rednaxela »

I think it would probably be a good idea to make a wiki page about these sorts of questions, to draft an faq on it.
Leaf wrote:How do you "check out" the world maps?
Use:

Code: Select all

svn co https://svn.sourceforge.net/svnroot/crossfire/maps/branch/1.x maps
for the 1.x branch. For the trunk use:

Code: Select all

svn co https://svn.sourceforge.net/svnroot/crossfire/maps/trunk maps
And if you want to checkout both in one command, you can do:

Code: Select all

svn co https://svn.sourceforge.net/svnroot/crossfire/maps
Leaf wrote:What is the difference between the branch and trunk?
Trunk is the latest development changed going only into 2.0 when it is released. The 1.x branch is for continued 1.x development, including only small bugfixes and minor features. Unless doing development it is recommended to use the 1.x branch until 2.0 is released.
Leaf wrote:How do you "check in" changes?
with the "svn commit" command the same as with CVS. One needs to be a crossfire developer with SVN access on sf.net's system in order to do this. (if not, then as always, submit a patch on the sf.net tracker)
Leaf wrote:If you make a change, where do you check in that change?
Branch, trunk or both?
It depends on the nature of the change. If it's a bugfix, it should go in both so long as the bug is in both, otherwise in the one that the bug applies to of course. If it's a small feature/change it should go in both, or in trunk, you have to decide if it be for 2.0 or should be introduced earlier. If it's a larger feature, in trunk only. Code reformatting should go in both so long as the affected code is in both. Code refactoring should go in both if it's just a tiny thing, but should go in trunk only if it's a major refactor, or a part of a larger refactoring plan.
That's what seems to be the consensus that I see.
Leaf wrote:Any (cross platform?) GUI apps out there for SVN?
TortoiseSVN (site/wiki) seems to be the most popular windows SVN client.
Subcommander (site) appears to be an interesting looking cross-platform one, not very popular currently though I don't think.
RapidSVN (site) appears to also be an interesting cross-platform one, looking like it might have a bit less features than Subcommander, but looks cleaner to me than Subcommander
For emacs people psvn.el (site) is a emacs mode for svn. Sure sure, this is stretching it, but some (strange?) people would consider emacs to be a gui of sorts, and emacs is cross-platform. :P
There also many other SVN GUIs out there that I didn't mention.
Leaf wrote:How does one check out one map change for their/a local server?
Ex: I want to download the latest change to Goth's Tavern, but not the change to Scorn City Hall - how does one do that?
There are a number of ways. To name the two main ones:
  • Just do a "svn update" like in CVS. If one doesn't want to merge the changes, copy the "foobar.mine" file back onto "foobar", and run a "svn resolved foobar" to tell it that you've 'resolved' the conflict, and it will delete the other files it created.
  • If one feels like getting fancy, one can always use svk, svn-mirror, or bzr-svn, to create a local branch on your side, and merge from trunk svn every so often.
Leaf
Forum Aficionado
Posts: 1994
Joined: Tue Apr 29, 2003 5:55 pm
Location: Minnesota, USA
Contact:

Re: SVN

Post by Leaf »

Rednaxela wrote:I think it would probably be a good idea to make a wiki page about these sorts of questions, to draft an faq on it.
No wiki page (yet?) but this provided me enough information to get the website updated.

http://crossfire.real-time.com/svn/
"Put another, more succinct way: don't complain, contribute. It's more satisfying in the long run, and it's more constructive."
Eric Meyer
Post Reply