annotate DOCS/tech/cvs-howto.txt @ 13108:a7ff30cf339f

spelling, rewording, some additions
author diego
date Tue, 24 Aug 2004 10:52:28 +0000
parents 678af17ca11e
children 78d00bbba153
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
1
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
2 About CVS write access:
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
3 ~~~~~~~~~~~~~~~~~~~~~~~
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
4
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
5 Before everything else, you should know how to use CVS properly. CVS comes with
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
6 some documentation, as usual
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
7
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
8 cvs --help
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
9 man cvs
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
10
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
11 are a good start. The most comprehensive manual is the book "Version Management
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
12 with CVS" by Per Cederqvist. It may be available on your system via
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
13
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
14 info cvs
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
15
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
16 or online at
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
17
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
18 http://www.cvshome.org/docs/manual/
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
19
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
20 Another very good resource is "The CVS Book - Open Source Development with CVS"
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
21 by Karl Fogel and Moshe Bar. It is also available online:
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
22
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
23 http://cvsbook.red-bean.com/
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
24
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
25 Consult these resources whenever you have problems, they are quite exhaustive.
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
26 What follows now are MPlayer specific guidelines.
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
27
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
28
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
29 I. TECH SIDE:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
30 =============
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
31
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
32 1. Changing password:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
33
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
34 As you probably got a restricted CVS-only shell, it's not trivial:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
35
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
36 ssh LOGIN@mplayerhq.hu passwd
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
37
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
38 Replace LOGIN with your login name. Leave 'passwd' unchanged, it's a command.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
39
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
40 Note: If you need a real shell for something, tell A'rpi.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
41
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
42 2. Checking out development source tree:
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
43
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
44 export CVS_RSH=ssh
11679
16c01dbca208 Pruning empty directories is a good idea and even better is using the
diego
parents: 11395
diff changeset
45 cvs -z3 -d:ext:LOGIN@mplayerhq.hu:/cvsroot/mplayer co -P main
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
46
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
47 Replace LOGIN with your login name.
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
48 NOTE: cvs -d:pserver: mode doesn't allow writing, even with password!
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
49
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
50 3. Committing changes:
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
51
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
52 cvs -z3 commit -m "comment - what you changed and why" filename(s)
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
53
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
54 Do not use comments such as: "bug fix." or "files changed" or "dunno".
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
55 You don't have to include the filename in the comment, as comments are linked
12099
8dedd440c31c Commit independent changes separately.
diego
parents: 12025
diff changeset
56 to files. If you have made several independent changes, commit them
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
57 separately, not at the same time. If you leave out -m at the command line you
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
58 will be prompted for a comment in an editor (usually vi).
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
59
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
60 4. Adding new files/dirs:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
61
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
62 cvs add filename/dirname
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
63
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
64 5. Removing files:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
65
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
66 rm filename
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
67 cvs remove filename
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
68 cvs commit -m "reason for removing this file" filename
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
69
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
70 6. Checking changes:
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
71
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
72 cvs -z3 diff -u filename(s)
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
73
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
74 It's recommended to check changes before committing. especially if you forget
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
75 what you changed :)
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
76 This way you will see if your patch has debug stuff or indentation changes
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
77 and you can fix it before committing and triggering me to use cvs-backup.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
78
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
79 7. Checking changelog:
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
80
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
81 cvs -z3 log filename(s)
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
82
9537
5476bc1c5cf6 Empty directories can only be removed by the CVS admin.
diego
parents: 9263
diff changeset
83 8. Renaming/moving files or content of files, removing empty directories:
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
84
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
85 You CANNOT do that. Ask the CVS server admin (A'rpi) to do it!
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
86 Do NOT remove & re-add a file - it will kill the changelog!!!!
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
87
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
88 Don't do a lot of cut'n'paste from one file to another without a very good
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
89 reason and discuss it on the mplayer-dev-eng mailing list first. It will make
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
90 those changes untraceable!
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
91
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
92 Such actions are useless and treated as cosmetics in 99% of cases,
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
93 so try to avoid them.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
94
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
95 9. Reverting broken commits
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
96
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
97 In case you committed something really broken and wish to undo it completely,
12025
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
98 you can use the 'cvs admin -o' command, which removes entries from the
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
99 revision history of a file. For the corner case that you remove the last
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
100 revision this amounts to reverting a commit.
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
101
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
102 Assuming that 1.123 is the last revision
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
103
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
104 cvs -z3 admin -o1.123 filename
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
105
12025
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
106 will remove revision 1.123, thus reverting the file back to revision 1.122.
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
107
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
108 ONLY use this command to delete the LAST revision of a file. Removing other
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
109 revisions will NOT undo the changes from that revision in the last revision
124734dc7c66 Explain why 'cvs admin' should only be used on the last revision of a file.
diego
parents: 12024
diff changeset
110 and leave holes in the revision history.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
111
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
112
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
113 Contact A'rpi <arpi@thot.banki.hu> if you have technical problems with the CVS
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
114 server.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
115
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
116
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
117
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
118 II. POLICY / RULES:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
119 ===================
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
120
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
121 1. You shouldn't commit code which breaks MPlayer! (Meaning unfinished but
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
122 enabled code which breaks compilation or compiles but does not work.)
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
123
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
124 2. You don't have to over-test things. If it works for you, and you think it
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
125 should work for others, too, then commit. If your code has problems
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
126 (portability, exploits compiler bugs, unusual environment etc) they will be
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
127 reported and eventually fixed.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
128
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
129 3. You can commit unfinished stuff (for testing etc), but it must be disabled
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
130 (#ifdef etc) by default.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
131
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
132 4. Do not change behavior of the program (renaming options etc) without
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
133 discussing it first at the mplayer-dev-eng mailing list. Do not remove
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
134 functionality from the code. Just improve!
9263
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
135 Do not commit changes to the build system (Makefiles, configure script)
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
136 which change behaviour, defaults etc, without asking (and your change being
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
137 accepted) on the mplayer-dev-eng mailing list first. The same applies to
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
138 compiler warning fixes and trivial looking fixes. We usually have a reason
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
139 for doing things the way we do. Send them as patches to the mailing list,
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
140 and if the code maintainers say OK, you may commit. This does not apply to
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
141 files written and/or maintained by you.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
142
12904
diego
parents: 12873
diff changeset
143 5. We refuse source indentation and other cosmetic changes, such commits will
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
144 be rejected and removed. Every developer has his own indentation style, you
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
145 should not change it. Of course if you (re)write something, you can use your
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
146 own style... (Many projects force a given indentation style - we don't.)
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
147
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
148 NOTE: If you had to put if(){ .. } over a large (> 5 lines) chunk of code,
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
149 do NOT change the indentation of the inner part (move it right)!
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
150
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
151 6. Always fill out the comment at committing (-m switch of CVS, or in the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
152 editor if you left out -m). Describe in a few lines (usually one line is
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
153 enough) what you changed and why. You can refer to mailing list postings if
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
154 you fix a particular bug. Comments such as "fixed!" or "Changed it." are not
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
155 acceptable.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
156
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
157 7. If you apply a patch by someone else, include his name and email address in
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
158 the CVS comment! Do NOT commit patches for other developer's code (code not
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
159 maintained by you) without his permission! If he didn't commit - he probably
12873
2cf265514fc5 Patches should get an answer.
diego
parents: 12107
diff changeset
160 has a reason! Send an answer to mplayer-dev-eng (or wherever you got the
2cf265514fc5 Patches should get an answer.
diego
parents: 12107
diff changeset
161 patch from) saying that you applied it.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
162
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
163 8. A'rpi developed something called cvs-backup. It archives the CVS repository
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
164 after each commit - so commits can be reversed (without messing up the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
165 changelog) if they are bad. If you think your bug fix or other change was
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
166 bad and unneeded, ask A'rpi to reverse it instead of committing the previous
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
167 version!
4410
2618318f988b DOCS thingie added
arpi
parents: 3258
diff changeset
168
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
169 9. You will have write access to DOCS/. This used to be different to avoid
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
170 breaking docs or getting translations or the homepage desynced. If you are
12107
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
171 unsure about this, send a patch to mplayer-dev-eng or even better to
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
172 mplayer-docs, the documentation maintainers will review and commit your
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
173 stuff.
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
174
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
175 10. Subscribe to the mplayer-cvslog mailing list. The diffs of all CVS commits
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
176 are sent there and reviewed by all the other developers. Bugs and possible
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
177 improvements or general questions regarding commits are discussed there. We
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
178 expect you to react if problems with your code are uncovered.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
179
12099
8dedd440c31c Commit independent changes separately.
diego
parents: 12025
diff changeset
180 Also read DOCS/tech/patches.txt !!!!
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
181
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
182 We think our rules are not too hard. If you have comments, contact us.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
183
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
184
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
185
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
186 III. Beginners Guide by David Holm
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
187 ====================
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
188
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
189 When I first got CVS write access I got banned after only a few hours
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
190 because I didn't fully understand this documentation. This part is for
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
191 those of you who have just got CVS write access and want to avoid the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
192 most common pitfalls leading to CVS ban.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
193 I will introduce a step-by-step guide explaining how I'm making sure
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
194 that my CVS commits are proper and won't get me banned.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
195
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
196 1. You should set up two directoress for MPlayer, one which contains the stable
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
197 version and has the :ext: option instead of :pserver: in CVS/Root.
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
198 The other should be your development directory and have the CVS/Root set to
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
199 :pserver: instead of :ext:, that way you can't commit development code
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
200 by accident (since only :ext: allows writes).
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
201 This is my setup:
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
202 ~/mplayer
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
203 /main
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
204 /main.dev
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
205 NOTE: I'll use these directory names from here on in the guide, what you
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
206 call your directories is entirely up to you. This is _only_ an example.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
207
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
208 2. When you are satisfied with the changes in "main.dev" and think you are
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
209 ready to commit the changes to CVS start by doing the following in the
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
210 "~/mplayer" dir":
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
211 diff -Nur -x "CVS" -x ".*" main main.dev > dev2stable
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
212 dev2stable is the filename for the patchfile, it doesn't matter what you
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
213 call it.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
214
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
215 3. Now comes one of the tricky parts, editing the patch. I prefer using mcedit
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
216 (comes with Midnight Commander) since it does syntax highlighting in patches
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
217 (= it uses colors to identify lines =), But most ASCII editors should do
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
218 (meaning don't use Star Office and save it as a Star Office document for
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
219 instance ;) I will try to explain this as good as I can.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
220
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
221 Read through the patch and remove all occurrences of:
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
222
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
223 * diff -Nur.... that are affecting files YOU have NOT modified. These
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
224 occur when either main or main.dev are a different version (not checked
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
225 out at the same time)
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
226 EVERYTHING from the diff -Nur... line until the next diff -Nur... line
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
227 are changes to the file specified after the diff options, and ONLY that
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
228 file.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
229
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
230 * Lines containing "Binary files..." if you add the 'a' switch to -N(a)ur
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
231 binary files will be added to the patch as well, making it huge and
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
232 putting a lot of unnecessary data in it (since you seldom commit any
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
233 binaries).
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
234
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
235 * If you find changes within a diff block that you don't want to commit
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
236 you can delete them if they are the only changes ranging from the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
237 @@ -x,y +x,y @@ until the line before the next @@ -x,y +x,y @@. You
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
238 _cannot_ remove single lines after a @@ -x,y +x,y @@ because that will
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
239 break the patch!.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
240 Example:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
241 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
242 @@ -15,34 +15,6 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
243 - old_option;
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
244 + new_option;
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
245 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
246 ...
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
247
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
248 OK:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
249 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
250 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
251 ...
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
252
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
253 Will break patch:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
254 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
255 @@ -15,34 +15,6 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
256 old_option;
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
257 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
258 ...
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
259
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
260 When I end up in a situation where I have to remove just some lines from
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
261 a block, I leave it alone, remember (write down) which file it is in and
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
262 then edit the file in "main" after I've applied the patch.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
263
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
264 * Now it's time for applying the patch to the "main" (stable) directory.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
265 This should be done in two steps:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
266 1. enter "main" and run
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
267
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
268 patch -p1 --dry-run < ../dev2stable
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
269
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
270 -p1 means that you are one level deep (that you have entered the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
271 "main" directory and that should be stripped when patching, if you
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
272 run it from "~/mplayer" you would use -p0).
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
273 --dry-run means that patch does everything it normally does but
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
274 without modifying ANY files. This is a great way of testing whether
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
275 your patch works or not.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
276 "../dev2stable" is your patchfile. (don't forget the '<')
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
277 If the dry run fails, check the line it failed on and figure out
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
278 why it failed, make a new patch and try again.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
279
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
280 2. OK, you finally have a working patch, remove --dry-run, patch "main"
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
281 and you are done with the patching part =).
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
282
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
283 4. It's almost time for the final step, committing the changes. But first you
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
284 MUST make sure your changes compile without breaking anything and that it
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
285 follows the Policy mentioned in section 2. (Read it until your eyes are
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
286 bleeding if you want to keep CVS access!)
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
287 Don't worry about object files etc that will be created in your "main" dir,
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
288 they won't be sent to CVS on a commit, you must use the add command to add
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
289 new files (discuss it on dev-eng before adding new files!).
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
290 Now to make sure your additions follow policy do the following on every file
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
291 you will commit:
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
292
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
293 cvs -z3 diff -u <filename> > <filename.d>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
294
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
295 Of course the output file (<filename.d>) can have any name you want. This
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
296 will create a file showing the differences between the file on CVS and your
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
297 updated local file.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
298 I will explain some of the policy rules I had a hard time understanding:
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
299
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
300 II.5: This means that if for instance you have lines in <filename.d> that
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
301 look something like this:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
302
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
303 -
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
304 +
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
305
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
306 That means you have added or removed tabs or spaces on that line.
12904
diego
parents: 12873
diff changeset
307 That qualifies as a cosmetic change and is disallowed. Edit the
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
308 file and put back/remove the added/removed tabs/spaces.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
309 Rediff the file and make sure the cosmetic changes are fixed.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
310
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
311 II.6: Make sure you read and understand this properly before committing
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
312 anything. Commit one file at a time!
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
313
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
314 5. OK, you have a working patch following the CVS policy, excellent work. Now
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
315 for the final step, committing. This is really simple. Just run the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
316 following command in "main" for each file you want to commit:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
317
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
318 cvs -z3 commit -m "<comment (changes)>" <filename>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
319 cvs -z3 commit <filename>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
320
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
321 The latter will bring up your default text editor for writing comments (I
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
322 prefer this method).
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
323
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
324 You are done, congratulations. If you are certain you have followed all of the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
325 policy you shouldn't have any trouble with the CVS maintainers at all.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
326 At first I thought the policy was too strict, but I discussed it with A'rpi and
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
327 he made some very good points, so don't complain.