[crossfire] Crossfire release

2012-02-13 Thread Mark Wedel


 It's been quite a while since there has been a crossfire release, so it seems 
about time for one.


 So I'm thinking that in a couple weeks time, packing up what is there as a 
release and putting it up on sourceforge.


 There are a few reasons for this announcement:
- If there is code/changes that are ready for commit, it gives you time to get 
those committed (a complaint in the past was someone missing the deadline by a 
few days and has to wait for the next release)


- To be aware of this upcoming release, and _not_ to commit large untested 
changes.  Making a release where the code has had little real world testing 
tends not to be good.


- To focus on bug fixes/stability improvements for the next few weeks.

 Since a couple weeks is vague, I'll just say end of the month.  That does not 
mean the release will happen on March 1, but it could, so just take that as a 
deadline.


 Any concerns, questions, issues, let me know.

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire release?

2011-01-11 Thread Mark Wedel
On 11/14/10 09:19 PM, Mark Wedel wrote:

Been a little more than 6 months since last official release, and I was
 thinking that trying to get one out before end of the year might be nice.

Thoughts/comments?

Any list of bugs or other things that must be fixed before a release is 
 made?

Likewise, any list of the major changes since last release?  Looking at
 changelog can be a little problematic, as it may not be readily apparent from
 the notes whether it is a significant/meaningful change.

I figure release should probably be called 1.51, but could do 1.60 - not 
 sure
 if that makes much difference.

  Got a bit sidetracked on this, but still thinking about getting it out - 
maybe 
in the next week or two.

  In short summary of the things to do or related notes:

call release 1.60
gtk2 client: Change default layout to something else (what?)
Changelog: Keep summary short
verify 1.50/1.60 client/server interoperability
have windows client (who to make?)
remove metaserver1 support (very easy to turn it off, but only 2 servers are 
using metaserver2 right now, despite at least 4 supporting it)




___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire release?

2010-11-22 Thread Nicolas Weeger
   Client too old may be reasonable - at some point, the older clients
 really will not work.
 
   It isn't feasible of course to test every client with every version of
 the server, and vice versa.  The problem of enforcing versions gets tricky
 - one does not want to force version 1.60 client with 1.60 release, as
 everyone with older clients now have to update right then to play.  But I
 will verify that 1.50 client works properly, and if you are playing older
 than that, probably time to update.

Seems fine to me.

Note there was a character creation bug that prevented creating new characters 
with some versions...




   Is that suggesting that maybe the java client should be the official
 windows client.

Is that a question? :)

No, I'm not suggesting anything.
But I admit to not having much interest in trying to build the GTK client 
under Windows.


 I haven't looked, so I don't know how easy/hard it would
 be to take the glade file and make the static config file (old method) -
 while less than ideal, if there are issues with windows, that may be one
 approach.

Or find a decent libglade version, I think there exists builds for it.


   Should perhaps metaserver1 support also get removed from server at same
 time? In that way, the client at least has to be know enough to support
 metaserver2 to play on newer servers (probably not much difference there,
 since that support has been there a while).

Sure. Let's clean old code.



   Discussion of that probably gets beyond this message - but some of that
 also goes into gameplay and other aspects - I certainly think it would be
 good to have the recipe chains for alchemy be such that one could, through
 alchemy, reasonably get high experience (this would involve making the
 basic recipes much more easy to find or perhaps common knowledge (eg, each
 time you gain a level in alchemy, you learn a recipe for that level).
 
   The hard part IMO for quest chains/skill leveling is ideally, you want
 the process of completely the quest to use the skill in question - having
 an alchemy type quest which is to get the liver of the boss monster at a
 bottom of a dungeon is fine, but one really isn't using alchemy (most
 likely) to solve that quest.  A few of those may be reasonable, but I just
 get the feeling that if too many are about, it might start to feel
 somewhat artificial.

Or have a quest in which you need to create via alchemy some specific item, 
requiring you to have a minimum alchemy level. Item that can't be traded, or 
just don't care if a player gets it from someone else.


   Yes, but I'd almost be tempted that if redoing/adding a lot of graphics
 get looked at, having an larger image set (64x64 base lets say) would be
 nice, but that probably gets into the dreamworld below.

I'd suggest either some vector-based solution, or why not 3D models - at 64x64 
for base tiles, I hope you can start to do nice things :)



   I suspect that within maps which do set item power, it hasn't been done
 consistently accross the board - mapmaker A's maps are consistent, but
 mapmaker B may use a higher basic item power than A.

Yup.
So a whole revision of that is in order. As well as for artifacts.





Nicolas
-- 
Mon p'tit coin du web - http://nicolas.weeger.org


signature.asc
Description: This is a digitally signed message part.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire release?

2010-11-22 Thread Mark Wedel
On 11/22/10 10:19 AM, Nicolas Weeger wrote:
Client too old may be reasonable - at some point, the older clients
 really will not work.

It isn't feasible of course to test every client with every version of
 the server, and vice versa.  The problem of enforcing versions gets tricky
 - one does not want to force version 1.60 client with 1.60 release, as
 everyone with older clients now have to update right then to play.  But I
 will verify that 1.50 client works properly, and if you are playing older
 than that, probably time to update.

 Seems fine to me.

 Note there was a character creation bug that prevented creating new characters
 with some versions...

  I thought I had checked that, but apparently I missed it.


Is that suggesting that maybe the java client should be the official
 windows client.

 Is that a question? :)

 No, I'm not suggesting anything.
 But I admit to not having much interest in trying to build the GTK client
 under Windows.

  My take is that not many of the crossfire devs are particularly active 
developers on windows, which is why the glade/gtk issue persist.

  Java (in theory) is very cross platform, so can make for easy client for 
windows, mac osx, or anything else that can run java.

  A java client release (meaning posted to the sourceforge crossfire site) 
should probably be done to make it more known.


Discussion of that probably gets beyond this message - but some of that
 also goes into gameplay and other aspects - I certainly think it would be
 good to have the recipe chains for alchemy be such that one could, through
 alchemy, reasonably get high experience (this would involve making the
 basic recipes much more easy to find or perhaps common knowledge (eg, each
 time you gain a level in alchemy, you learn a recipe for that level).

The hard part IMO for quest chains/skill leveling is ideally, you want
 the process of completely the quest to use the skill in question - having
 an alchemy type quest which is to get the liver of the boss monster at a
 bottom of a dungeon is fine, but one really isn't using alchemy (most
 likely) to solve that quest.  A few of those may be reasonable, but I just
 get the feeling that if too many are about, it might start to feel
 somewhat artificial.

 Or have a quest in which you need to create via alchemy some specific item,
 requiring you to have a minimum alchemy level. Item that can't be traded, or
 just don't care if a player gets it from someone else.

  Or even quests/maps in which various materials are available (in chests, 
monster drops, etc) which allows one to use alchemy to make potions, bombs, etc 
to defeat some monsters - at least in that case, alchemy can be used to 
complete 
the quest.  A character could use other skills (and not use alchemy at all), 
but 
at least alchemy could be used heavily, so it makes more sense to get alchemy 
experience.

  It would perhaps also be interesting that if one makes a device through 
alchemy (dust as an example) and uses that dust to kill creatures, may some 
portion of that experience should go to alchemy.  Not sure how to do it all, 
and 
it probably has to be limited to the character that created the dust also using 
it.  But in a sense, you are putting your skill to the ultimate test there.



Yes, but I'd almost be tempted that if redoing/adding a lot of graphics
 get looked at, having an larger image set (64x64 base lets say) would be
 nice, but that probably gets into the dreamworld below.

 I'd suggest either some vector-based solution, or why not 3D models - at 64x64
 for base tiles, I hope you can start to do nice things :)

  From having done this a few times (bitmap to xpm conversion, 24x24 to 32x32 
conversion), being able to populate the entire new image set is a big plus - in 
this case, that would mean having all images available as 64x64 images, even 
though they are just scaled up 32x32 images.

  Now at that point, how to clean those up is another question - for some 
number 
of images, probably just doing manual cleanup is fine.

  For some, it may be making a 3d model or other basis, and then doing 
manipulations on that and saving in 64x64 image may be best.  For something 
like 
some characters and monsters, making the 3d model which you can then rotate for 
the 8 different directions as well as do basic animation (moving arms/legs) may 
be a lot easier than actually drawing all those images by hand (but not having 
done much with 3d models, can't really say myself)

  For others, doing vector graphics and saving/converting those to 64x64 png 
images may make sense (for non animated objects that also wouldn't have any 
rotation, this may make sense - things like floors, walls, even fair number of 
items).

  Now at some point, things may be such that there are 100 3d models in the 
arch 
tree, and it then makes a lot more sense to send those models and have the 
client deal with them vs sending the 32 variations of each model.  

Re: [crossfire] Crossfire release?

2010-11-20 Thread Mark Wedel
On 11/20/10 01:04 AM, Nicolas Weeger wrote:
 Hello.


Been a little more than 6 months since last official release, and I was
 thinking that trying to get one out before end of the year might be nice.

Thoughts/comments?

Any list of bugs or other things that must be fixed before a release is
 made?


 Things to fix for the next release:

 - ensure all clients versions are either disconnected with a client too old
 message or able to create account or at least characters on latest server

  Client too old may be reasonable - at some point, the older clients really 
will not work.

  It isn't feasible of course to test every client with every version of the 
server, and vice versa.  The problem of enforcing versions gets tricky - one 
does not want to force version 1.60 client with 1.60 release, as everyone with 
older clients now have to update right then to play.  But I will verify that 
1.50 client works properly, and if you are playing older than that, probably 
time to update.


 - have an official Windows client ; if GTK should be it, actually build and
 package it (last tests I made showed issues with Glade library)

  Is that suggesting that maybe the java client should be the official windows 
client.  I haven't looked, so I don't know how easy/hard it would be to take 
the 
glade file and make the static config file (old method) - while less than 
ideal, 
if there are issues with windows, that may be one approach.

  I personally do not have a windows dev environment - that is of course one of 
those things that always makes things harder to work for.


 - remove metaserver1 support from clients, so players don't go to old obsolete
 servers

  Should perhaps metaserver1 support also get removed from server at same time? 
  In that way, the client at least has to be know enough to support metaserver2 
to play on newer servers (probably not much difference there, since that 
support 
has been there a while).


 Things to fix someday:

 - add more quests, link maps or stories ; this would give players some hints
 on what to do or point to maps they don't know

  Yes - one other thought I've had, and which many other games do, is have some 
form of achievements/titles.  These may not have any actual in game effect, but 
to some extent let a player track what they have done.  Eg, kill 1000 demons 
and 
you get the demon slayer title.  Maybe remove the custom title currently in the 
game, and only let player set their titles to ones they have earned.


 - make enough quests to nicely level in various skills (eg suite of alchemy-
 related quests enabling the player to learn recipes and level up)

  Discussion of that probably gets beyond this message - but some of that also 
goes into gameplay and other aspects - I certainly think it would be good to 
have the recipe chains for alchemy be such that one could, through alchemy, 
reasonably get high experience (this would involve making the basic recipes 
much 
more easy to find or perhaps common knowledge (eg, each time you gain a level 
in 
alchemy, you learn a recipe for that level).

  The hard part IMO for quest chains/skill leveling is ideally, you want the 
process of completely the quest to use the skill in question - having an 
alchemy 
type quest which is to get the liver of the boss monster at a bottom of a 
dungeon is fine, but one really isn't using alchemy (most likely) to solve that 
quest.  A few of those may be reasonable, but I just get the feeling that if 
too 
many are about, it might start to feel somewhat artificial.


 - many more compound graphics - create a Fenx character, and use singing,
 fight, cast magic, do the same for other races and classes

  Yes, but I'd almost be tempted that if redoing/adding a lot of graphics get 
looked at, having an larger image set (64x64 base lets say) would be nice, but 
that probably gets into the dreamworld below.


 - fix many broken monsters (hint: ac-70 will make the monster almost
 invulnerable in melee), balance exp/sp/hp/gr and such

  Yes - those should get fixed.


 - fix various Python guild bugs and issues

 - fix item_power ; some items are more powerful than others with less
 item_power (eg some rings, I think) ; also item_power is almost useless once
 you reach level 50, so spread the scale more

  Some of the idea behind item power was to prevent high level characters from 
giving low level characters really great items, so fact it becomes less 
relevant 
at higher levels would be less a concern.

  But the real problem behind it is that for probably 99% of the items, it is 
computed by the server, and it can only make general assumptions on value - 
certainly some attacktypes are better than others, as are protections.

  I suspect that within maps which do set item power, it hasn't been done 
consistently accross the board - mapmaker A's maps are consistent, but mapmaker 
B may use a higher basic item power than A.




 In a dreamworld:

 - better unique map or unique 

Re: [crossfire] Crossfire release?

2010-11-17 Thread Rick Tanner
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 11/16/10 10:24 PM, Kevin R. Bulgrien wrote:
 I don't really know of any serious stability
 reports out there, though some users seem to be confused by the
 account / character setup dialogs.

I've been working on the walk though for the new account setup, progress
so far is located at:

http://crossfire.real-time.com/guides/character/summary.html


 Probably don't want to go in such big hops as to get to 1.100+ is all I have 
 to add to that.  On one hand the client changes are significant.  On the 
 other,
 without a corresponding server release, its probably a bit weird to go
 jumping the client by leaps and bounds.

In the past, (can't recall the exact release..) having server release
number differ from client release number created new confusion in
regards to compatibility of one with the other.  So, from that point,
we've tried to keep all the release numbers the same.



-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.7 (Darwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iD8DBQFM5HvOhHyvgBp+vH4RApMPAKCbhm/s5CovgLbmUsCfgrJSlLHDfACfaPW4
TBglFcPmWguQlWsoYLyRMMU=
=OUGY
-END PGP SIGNATURE-

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire release?

2010-11-17 Thread Mark Wedel
On 11/16/10 08:24 PM, Kevin R. Bulgrien wrote:
snip

 IMO, it is time to ditch gtk-v2.glade as the default.  It is becoming a
 not so uncommon event for a new user to come on IRC and have fits
 getting the important window panels to show up (inventory in particular).
 I've had one disappear off IRC after trying hard to help with little success.
 I'd personally rate this pretty much a necessity.  Maybe dealing with that
 should be a different thread though.

  I have no issue changing the default to something that is easier to use/works 
for a larger number of users.


 I did work to fix the caching of hosts in the metaserver dialog, but there
 is a bug still left. Somehow the cache list displayed isn't quite right.  I
 haven't followed up to find out what's wrong yet.

 I'd like to rework the new dialogs.  They do not match the style of the
 other dialogs, and, IMO, with apologies to the designer, ugly.  It is not
 necessary to do so, but already that client has a reputation for its not
 so elegant looks.

  I know many of the new dialogs would need some work.  I was also caught 
somewhat in not quite knowing the best/correct size for them - some of the 
windows would be much better if they were larger (descriptions are scrunched in 
small area), but at same time, I didn't want to make the windows too large to 
work on low res displays - I'm not sure what the minimal display resolution we 
target currently is.


 As for ChangeLog, I've personally taken to heart an IRC conversation about
 that document.  I have started only logging things there that seem likely to
 be of end-user interest., and to allow the SVN log to serve as the technical
 change log.

  That may be a different discussion - I missed the IRC conversation, but what 
is really recorded in the changelog could become just significant changes, and 
minor bug fixes not recorded there.

  I suppose I just followed the format of most projects where everything is 
recorded in the ChangeLog to high detail, but some are much more general.

  One concern I do have about that is to make sure comments recorded for the 
actual changed files be meaningful.  Having a comment in the svn log like 'bug 
fix' is pretty useless - I'd much rather have the description be something like 
'fix possible null pointer reference '.  I only bring this up because in 
many cases, the same entry in the Changelog is what is used in the files.


 Music is working in GTK-V2 though there is no mechanism to deliver music
 with the client.  I think some work needs to be done to at least define a
 system-wide location for music and a user-specific location for music.
 We also have no infrastructure set up to distribute media either.  Not
 sure its worth making a big deal about the new feature at this point.

  I suspect music will be like sounds - distribution will be in tar 
files/rpms/whatever.  That said, any music files we have should get committed 
to 
SVN so they can be distributed.

  I suspect that music files will change infrequently enough that such a 
distribution method works fine.  But if something more frequent was needed (say 
you add several new song files and don't want to wait for next official release 
that may be 6 months away), packing up a new tar archive with the new files and 
calling it a .1 release or something would probably be fine.


 Sound/Music may eventually need with respect to possibly fixing old
 .crossfire folder content, but then maybe one needs to just ditch the
 legacy files rather than try convert them to the new system.  (The old
 system was severely broken as it used hard-coded absolute paths that
 could single-handedly disable sound if changes occurred upstream.)

  I have no issues disabling/breaking old stuff if there is a good replacement 
- 
in fact, I'd rather ditch legacy stuff than adding bits of code to try and keep 
it functional.

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire release?

2010-11-16 Thread Kevin R. Bulgrien
   Been a little more than 6 months since last official release, and I was
 thinking that trying to get one out before end of the year might be nice.
 
   Thoughts/comments?

1.50.0 is broken.  One cannot create a new character due to a .glade file
bug.  A release is needed.  Technically, a 1.50.1 could consist of a new
dialogs.glade file only.  The fix is in SVN already, but, I think I'd prefer to
see a general release since so much time has passed.

Yes, getting one out would be nice to hit a new round of distribution hits
to replace the broken client.  I don't really know of any serious stability
reports out there, though some users seem to be confused by the
account / character setup dialogs.
 
   Any list of bugs or other things that must be fixed before a release is
 made?

One place where stuff is recorded is:

http://wiki.metalforge.net/doku.php/known_client_issues

#2938902 crossfire-client-gtk2 has get/take errors
https://sourceforge.net/tracker/?func=detailaid=2938902group_id=13833atid=113833

There are a few others in the tracker too... though I'm not sure how
significant they are.  I think a fair number of them are Windows
client issues, but this one is one I run into.

IMO, it is time to ditch gtk-v2.glade as the default.  It is becoming a
not so uncommon event for a new user to come on IRC and have fits
getting the important window panels to show up (inventory in particular).
I've had one disappear off IRC after trying hard to help with little success.
I'd personally rate this pretty much a necessity.  Maybe dealing with that
should be a different thread though.

I did work to fix the caching of hosts in the metaserver dialog, but there
is a bug still left. Somehow the cache list displayed isn't quite right.  I
haven't followed up to find out what's wrong yet.

I'd like to rework the new dialogs.  They do not match the style of the
other dialogs, and, IMO, with apologies to the designer, ugly.  It is not
necessary to do so, but already that client has a reputation for its not
so elegant looks.

FWIW, I'd also like to rework the main windows the same way I did the
dialogs.  I think that would help people find the resize bars more
easily.  Not critical, but might alleviate issues with gtk-v2.glade
somewhat.

   Likewise, any list of the major changes since last release?  Looking at
 changelog can be a little problematic, as it may not be readily apparent
 from the notes whether it is a significant/meaningful change.

As for ChangeLog, I've personally taken to heart an IRC conversation about
that document.  I have started only logging things there that seem likely to
be of end-user interest., and to allow the SVN log to serve as the technical
change log.

An important fix for the client is that it should handle backslash vs slash
delimited paths properly now when built on windows.

Dynamic resize of spells dialog is added.  This is pretty significant.  A
great deal of effort went into populating all the spell help, and the text
reflow capability means the dialog is much more useful on a variety of
desktop environments.

The client has preliminary support for Spellmon 2 (spells that require
ingredients), but ingredient listing is not end-user visible at this time.

The client now has a 30 second timeout instead of a 3-4 minute lockup
if a connection attempt is made to a host/port that does not have a
listening server.  (Probably 30 seconds is still too long...)

Issues with [X] close of dialogs has been improved and segfaults under
some window managers are prevented.  Delete events are now trapped
and ignored to prevent dialogs from disappearing and requiring a client
restart to correct the situation.  I wonder if the most recently added
dialogs are in need of the same fix applied to the account system dialogs.

Music is working in GTK-V2 though there is no mechanism to deliver music
with the client.  I think some work needs to be done to at least define a
system-wide location for music and a user-specific location for music.
We also have no infrastructure set up to distribute media either.  Not
sure its worth making a big deal about the new feature at this point.

Sound effects are not done at this point, but the infrastructure is technically
operational as I can play sound effects in a tweaked development work
space, but the server-to-client link is not complete.  I think some factoring
 needs to be done to get a reasonable implementation.  All the points made
about music are pretty much also true for sound effects.

Sound/Music may eventually need with respect to possibly fixing old
.crossfire folder content, but then maybe one needs to just ditch the
legacy files rather than try convert them to the new system.  (The old
system was severely broken as it used hard-coded absolute paths that
could single-handedly disable sound if changes occurred upstream.)

Even with the incomplete implementation, cfsndserv and friend should be
release-safe.

   I figure release should probably be called 1.51, 

Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-15 Thread Mark Wedel

  Just a note - I've put a copy of this document, with a few minor changes, on 
the wiki:

http://wiki.metalforge.net/doku.php/crossfire_release_cycle

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-10 Thread Nicolas Weeger (Laposte)
   I'm not sure about the other systems out there - once can spend a lot of
 time looking over all the documentation, etc.  AS with our last discussion,
 I'm most inclined to stick with CVS since we know what it does and doesn't
 have any real major shortcomings (it works right now).

I'm in no way CVS/SVN expert (I use both, but I never really played with 
branches).

IMO, if SVN isn't too bad for branches, we should switch. SVN has atomic 
transactions, that's a great feature, specially with upcoming talk about 
restructuration and such - makes it much easier to revert commits.

Nicolas

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-10 Thread Tchize
Also, about restructurations of code, svn unlike cvs does not 'forget' 
the history of a file when it's moved. I use cvs a lot for work and 
dureing refactoring of our code (which happens from time to time) we 
already lost versions of some files because they were deleted / restored 
/ deleted and as result, you have an unconsistent attic (2 files with 
same name at same directory got deleted, you only have access to latest 
on in Attic)

Nicolas Weeger (Laposte) wrote:
   I'm not sure about the other systems out there - once can spend a lot of
 time looking over all the documentation, etc.  AS with our last discussion,
 I'm most inclined to stick with CVS since we know what it does and doesn't
 have any real major shortcomings (it works right now).
 

 I'm in no way CVS/SVN expert (I use both, but I never really played with 
 branches).

 IMO, if SVN isn't too bad for branches, we should switch. SVN has atomic 
 transactions, that's a great feature, specially with upcoming talk about 
 restructuration and such - makes it much easier to revert commits.

 Nicolas

 ___
 crossfire mailing list
 crossfire@metalforge.org
 http://mailman.metalforge.org/mailman/listinfo/crossfire

   


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-09 Thread Tchize
svn does branching and tagging, and according to this faq 
(http://subversion.tigris.org/faq.html#merge-using-tags) it does it 
pretty well.

basically svn does this to handle branching and merging
copy trunk -  myBranch
copy myBranch - myBranchMerged
modify myBranch at will
copy the diff between myBranch and myBranchMerged to trunk

CVS on his side does this
tag the main branch
create a branch from given tag (don't forget to give that branch a name 
that must be different than tag)
modify the branch
copy all changes made to branch to main

As a result, same number of operation, and svn is 'supposed' to be 
faster than cvs at this because the operations do not depend on 
repository size but on change size.

I think that because the branch name appear in url, it make it easier 
for user to checkout a given branch or revision from anonymous svn and 
the fact branches appear on http browsing (which  is not the case of 
svn) is also a pro for svn.

Mark Wedel wrote:
   Some of SVN big advantages appears to be able to work offline (keeps copy 
 of 
 data you checked out around so you can do diffs without needing connection, 
 as 
 well as ungets).  Some of the other features may not make as big a difference 
 to 
 us - ability to use different connection methods (that really is up to the 
 hosting agent) and better binary support.

   But the fact it doesn't do branching as well as CVS is probably a major 
 shortcoming, especially since we are looking at needing to use branches a lot 
 more.

   I'm not sure about the other systems out there - once can spend a lot of 
 time 
 looking over all the documentation, etc.  AS with our last discussion, I'm 
 most 
 inclined to stick with CVS since we know what it does and doesn't have any 
 real 
 major shortcomings (it works right now).





 ___
 crossfire mailing list
 crossfire@metalforge.org
 http://mailman.metalforge.org/mailman/listinfo/crossfire

   


___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-08 Thread Mark Wedel
Nicolas Weeger (Laposte) wrote:
 Hello.
 
 I globally agree, a few points:
 
- Client and server releases will be done at same time, with matching
  version numbers.
  - Exception is micro releases, where it may be only the client or
only the server released.
 
 This supposes client will evolve too. Experience shows client has a 
 development cycle way slower than server. So we may have cases where client 
 doesn't really need to be released.

  True - OTOH, it isn't really harmful to release the client periodically.

  Actually, given this release model, the changes in the server will be greatly 
diminished.  If we look back what was done since 1.0, all of the big features 
would be in the 2.0 target and missing from the 1.x releases.

 
  - Major release is done when feature set is complete.
 
 That I'm not totally sure I agree.
 It's nice to agree on a feature set for next major release. But sometimes no 
 one feels working on some point for some months, whereas code moves in 
 another area, enough to warrant a major release.
 So I'd say we decide on a wanted features list, but we can release a major 
 anyway if enough changes were made.

  Perhaps ammended that the list can be revisited at various times.

  If we are talking years between major releases, I think that is a requirement 
- how can anyone really say what things will be like 18 months from now - 
things 
may change such that some new feature/changes is critically needed.

  Likewise, if there are features on the list that no one is willing to do, it 
may be reasonable to discuss if those features should really be on that list - 
if the list is determined by the developers, there should probably be some 
willingness by the developers to work on those things.

  I guess the main point is that it should be a surprise to anyone when the 
release is done.

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-08 Thread Alex Schultz
Mark Wedel wrote:
   As far as going to something else, I think it would have to be vastly 
 better - 
 sourceforge provides a nice free environment - it keeps things very simple - 
 it 
 is associated with a group, not a single person.

   Something that is not free or associated with one person can become a 
 problem. 
   Suppose there is some cool site that provides a nice source control package 
 for a relatively nominal amount of money, and I'm willing to pay it.  That 
 works 
 great unless I'm hit by a meteorite, and which time, that could just 
 disappear 
 without anyone really knowing why (same points apply to services hosted on a 
 persons private computer, etc - it sounds reasonable, but if something 
 happened 
 to that computer (house burns down), first priority for that person probably 
 isn't getting that server set up again).
For such reasons I would agree, we shouldn't go for something that is
not free, or associated with one person. My point was more saying that
perhaps it would be worth also evaluating the possibility of using some
other version control system such as bazaar-ng (personally I think
that's a pretty good one, however I don't think it would be a great idea
for cf, largely because it becomes rather slow with source trees as
large as crossfire, but I was just primarily using that as an example).
Personally I currently think that either SVN or CVS are the best options
for crossfire, but I just wanted to make a point that other options are
worth looking at a little too.
In terms of hosting, that is an issue for use of other, the metalforge
server may or may not work (don't know if Leaf would or not), however
that too has a little bit of those associated with one person
potential issues, though it is less significant. One thought, is
distributed version control systems would make associated with one
person issues less significant, thought it wouldn't eliminate those issues.

Alex Schultz

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-08 Thread Alex Schultz
Lalo Martins wrote:
 snip svn criticisms
   
Ahh yes, those are the sorts of SVN issues I've heard about, though I'm
not experienced with SVN myself.
 I believe the idea is to try some proper revision control system like bzr 
 (there's
 free hosting at launchpad.net; you can host your own using only ssh and
 a webserver), git/cogito (used by the kernel and many freedesktop.org
 packages; I'm sure there must be free hosting somewhere) or darcs (again,
 needs only ssh and http to host).
One little note, bzr I find to be rather nice, however I find it's a bit
annoyingly memory and cpu intensive on source trees as large as cf.
git/cogito looks interesting, the tools seem pretty nice from what
little I've looked at, though it will be a bit of pain under windows
(and we do have a couple windows-using developers) as under windows it
requires cygwin. One other thought, darcs looks like an interesting one
too, however the fact that it's written in hacksel makes it a bit of a
pain to compile if one can't get binaries for one's system.

Personally I'm thinking just sticking with CVS is best though, largely
due to sticking with sf being easiest. I'm now thinking that SVN
wouldn't be too bad, but wouldn't be worth switching from CVS to use
unless one has some significant reason.

Alex Schultz

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-08 Thread Mark Wedel

  Some of SVN big advantages appears to be able to work offline (keeps copy of 
data you checked out around so you can do diffs without needing connection, as 
well as ungets).  Some of the other features may not make as big a difference 
to 
us - ability to use different connection methods (that really is up to the 
hosting agent) and better binary support.

  But the fact it doesn't do branching as well as CVS is probably a major 
shortcoming, especially since we are looking at needing to use branches a lot 
more.

  I'm not sure about the other systems out there - once can spend a lot of time 
looking over all the documentation, etc.  AS with our last discussion, I'm most 
inclined to stick with CVS since we know what it does and doesn't have any real 
major shortcomings (it works right now).





___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


[crossfire] Crossfire Release Cycles/Methodology

2006-08-07 Thread Mark Wedel
Per the recent discussion on code reorganization and what goes in what
release, this document is an attempt to gather the points raised and make it
into a formal document that can be included in the code or put on the wiki.

This document does not attempt to justify or explain why different things are
done for reasons of brevity - if we actually want every developer to read it,
we want to stick to the what the rules are, and not as much how we arrived at
those rules.

If I missed anything, or there is strong disagreement on any of these points, 
speak up.
.

--

- Crossfire versioning is described as major.minor.micro
   - 2.3.4 means major version 2, minor 3, micro 4
   - The main (head) of the CVS branch contains what will be the next major
 release.
   - A branch for the minor releases will be made when a major release is done
 - It is from this stable-major branch that future minor releases are made.
 - If a micro release is necessary, it will be branched from the
   stable-major branch, as stable-major-minor.
   - The RE may choose to make a branch for an upcoming minor release to
 limit changes, as stable-major-minor.
   - Minor releases will be made at periodic intervals (2-4 months apart).
   - Micro releases will only be done if an immediate release is necessary
 due to a critical bug, and waiting for the next minor release is not
 an option.
   - All releases will be symbolically tagged as rel-major-minor-micro
   - There is no practical upper limit to minor or micro versions -
 crossfire 1.16.22 is valid.
   - Client and server releases will be done at same time, with matching
 version numbers.
 - Exception is micro releases, where it may be only the client or
   only the server released.
   - Public servers expected to run the stable branch, not the head branch.
   - stable branch will be made for all arch, maps, client, and server
 components of crossfire.

- What goes in each version of Crossfire:
   - All changes go into the main head branch, what will become the
 the next major release.
   - Smaller features/additions will also be done in the stable branch.
 - Developer discretion on whether to make change to stable branch
   in addition to head branch
   - Bug fixes go in both branches.
 - Developer making bug fix responsible for updating both branches
   - Following changes can only be made in the head (next major) branch:
 - Changes that break compatibility
 - Changes that make signficant changes to the code.
 - Removal of programs (discontinue support for a client as an example)
 - Changing name of executables.
   - Feature set of next major release to be discussed by developers.
 - List of proposed changes sent to mailing list.
 - Developers comment, decide priorities on list of features for next
   major release.
 - For major features, brief design document needs to be written,
   describing the feature, why it is important, and in broad terms,
   how it will be done.
   - All changes to protocol must have a design doc, no matter how small.
   - Design doc must be done before changes are commited - no writing
 design doc after code is written
 - Major release is done when feature set is complete.
 - For 2.0, smaller list of features should be the criteria since this
   change of release strategy is happening later in the 1.x release cycle.

--
Open Issues:

- Should we switch to SVN?  Switching repositories at same time as switching
   what the head branch means would make the most sense.
- Need some way to drive development - need some way to make sure items
   on TODO list for next release get done, and that developers just don't
   work on cool features they want that may not match TODO list.

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire


Re: [crossfire] Crossfire Release Cycles/Methodology

2006-08-07 Thread Alex Schultz
Mark Wedel wrote:
 Per the recent discussion on code reorganization and what goes in what
 release, this document is an attempt to gather the points raised and make it
 into a formal document that can be included in the code or put on the wiki.

 snipped the large list
Those rules seem to make alot of sense to me. I can't think of any
disagreement I have with them.
 --
 Open Issues:

 - Should we switch to SVN?  Switching repositories at same time as switching
what the head branch means would make the most sense.
   
I agree that when switching what the head branch means makes the most
sense, however I'm not sure that to SVN would be a great type of move to
me. SVN from what I've seen does address some of CVS's weaknesses,
however I have heard that the way it handles branching for example is
ugly. Could someone with more experience with SVN comment on branching
in SVN? Also, if we are willing/able to move off of sf.net for version
control, it might be worth considering other version control options (I
personally think that if we don't use either SVN or CVS, we should see
if we can set up a read-only CVS or SVN mirror for people to download
off of who don't have the other type of version control software.)
 - Need some way to drive development - need some way to make sure items
on TODO list for next release get done, and that developers just don't
work on cool features they want that may not match TODO list
Well, the best method of dealing with this I've seen, is with how many
projects set things like Blocking 2.0 in their bugzilla system. We
might be able to use either categories or priority with the sf.net
tracker, however that seems hackish to me and wouldn't be the clearest.
That said, I think if we are to continue using the sf.net tracker, it
would be best to use that for TODO goals, however I think it may be
worth considering moving off of sf.net for bug tracking.

Alex Schultz

___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire