ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/doc/Developers/cvs
Revision: 1.2
Committed: Thu Sep 7 21:42:48 2006 UTC (17 years, 9 months ago) by pippijn
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +0 -0 lines
State: FILE REMOVED
Log Message:
Moved documents to doc/historic

File Contents

# User Rev Content
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