| 1 |
root |
1.1 |
|
| 2 |
|
|
CVS checkin process: |
| 3 |
|
|
|
| 4 |
|
|
1) All checkins should include a log message. Included in the log |
| 5 |
|
|
message should be what changed (files), why it changed (what new |
| 6 |
|
|
feature or bug was fixed), as well as the date and time (while CVS |
| 7 |
|
|
does stamp these automatically, it can be easier to read the log for |
| 8 |
|
|
that information than looking at the CVS header). |
| 9 |
|
|
|
| 10 |
|
|
It is not necessary to go into a long exposition, and pasting the actual |
| 11 |
|
|
changes is not generally useful. But this log message should be useful for |
| 12 |
|
|
someone looking over the logs at a future point to see what did change. |
| 13 |
|
|
Having a log like 'various skill stuff' isn't very useful. A log message like |
| 14 |
|
|
'prevent abuse with the literacy skill, and increase chance of singing' is |
| 15 |
|
|
much more useful, and not a lot more words. |
| 16 |
|
|
|
| 17 |
|
|
One of the main uses of the log entries is when bugs are reported where |
| 18 |
|
|
behaviour changed between version X and Y to be able to look at the log |
| 19 |
|
|
entries and get an idea of what specific revision may have caused that |
| 20 |
|
|
change. |
| 21 |
|
|
|
| 22 |
|
|
If doing a commit of several different files at each time, and the commits |
| 23 |
|
|
are different in nature, do try to at least mention what is changing in |
| 24 |
|
|
each file. |
| 25 |
|
|
|
| 26 |
|
|
Do not refer to other files or other log messages. Saying 'see changes |
| 27 |
|
|
file' is not useful, nor is a message like 'continuing with last set |
| 28 |
|
|
of commits'. Such messages are not useful when trying to look back through |
| 29 |
|
|
the logs at a future point. |
| 30 |
|
|
|
| 31 |
|
|
There is no excuse for not having a good log entry. Worst case, cut and |
| 32 |
|
|
past from the CHANGES file or those prior commits. My typical method |
| 33 |
|
|
of doing commits is filling out the CHANGES file, and then |
| 34 |
|
|
copying/pasting from that when I do the commit. |
| 35 |
|
|
|
| 36 |
|
|
Please also update the CHANGES file for the appropriate distribution - |
| 37 |
|
|
this is very useful to look through to get an idea of everything that |
| 38 |
|
|
has changed since some release. Very minor things (eg, fixing typos, |
| 39 |
|
|
or other things that don't actually effect how the program runs) do not |
| 40 |
|
|
need to be in the CHANGES file. |
| 41 |
|
|
|
| 42 |
|
|
2) All checkins should go through at least minimum testing: |
| 43 |
|
|
For source code, this means it compiles and at least a basic test has |
| 44 |
|
|
been done (for example, if it is a new spell, have you tried casting |
| 45 |
|
|
the spell?) This basic testing implies the code at least compiles |
| 46 |
|
|
also. I realize it is very difficult to do 100% testing of code, but |
| 47 |
|
|
at least a basic test should be done. |
| 48 |
|
|
|
| 49 |
|
|
All source code should also be ANSI & POSIX compliant. Don't use // for |
| 50 |
|
|
comments. Be careful of new library calls that are not being used |
| 51 |
|
|
elsewhere in the source - there may be a reason they are not being used. |
| 52 |
|
|
"it compiles on my system" is not justification for writing code that does |
| 53 |
|
|
not work elsewhere. It is understandable that you may not know that the |
| 54 |
|
|
code written is non portable, but once this is learned, it should be |
| 55 |
|
|
corrected. |
| 56 |
|
|
|
| 57 |
|
|
For archetypes, this testing should involve rebuilding the arch file and |
| 58 |
|
|
running with the new file. There should be no errors in the loading |
| 59 |
|
|
of the archetype files. |
| 60 |
|
|
|
| 61 |
|
|
For maps, this means that the map should load, and the exits should lead |
| 62 |
|
|
back and forth. Note that maps in the unlinked directory are more |
| 63 |
|
|
work in progress so can be checked in a more experimental state. |
| 64 |
|
|
|
| 65 |
|
|
3) Style & Balance: Your changes may work, but do they fit in with the |
| 66 |
|
|
rest of the game. This basically means following the files guides |
| 67 |
|
|
that already existing, eg doc/programming_guide, doc/mapguide |
| 68 |
|
|
|
| 69 |
|
|
There really is no arch guide, but take common sense. Does the |
| 70 |
|
|
object fit in with the game (ie, a blaster rifle would not), is this |
| 71 |
|
|
arch very unbalancing, etc. |
| 72 |
|
|
|
| 73 |
|
|
4) Before starting a big project, send a note to the mailing list asking |
| 74 |
|
|
for opinions. While it is not possible to prevent someone working on |
| 75 |
|
|
whatever they may want, if the general consensus is that it is a bad idea, |
| 76 |
|
|
you may want to find that out before spending a lot of work on it only |
| 77 |
|
|
to find out that your idea will not get added to the game. |
| 78 |
|
|
|
| 79 |
|
|
5) Take responsibility for your code. If you check in something and a bug |
| 80 |
|
|
is reported in it, go an fix it. |
| 81 |
|
|
|
| 82 |
|
|
6) Look at the testplans, and if your code may benefit from them, use them. |
| 83 |
|
|
Likewise, if you develope a testplan for your code, record it in the |
| 84 |
|
|
testplan directory. |
| 85 |
|
|
|
| 86 |
|
|
Mark Wedel |
| 87 |
|
|
May 12, 2001 |