annotate DOCS/tech/cvs-howto.txt @ 12117:e1e5e2124dae

minor changes rename b -> vb, so 'v' is the vlc, 'b' is simply a series of bytes and 'vb' is the length as vlc + the bytes encode the fourcc & language code as v instead of vb, this is much simpler in practice, at least in lavf as the fourcc is an int there
author michael
date Sun, 04 Apr 2004 22:40:48 +0000
parents bc89ddda34b8
children 2cf265514fc5
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
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
143 5. We refuse source indentation and other cosmetical changes, such commits will
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
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
160 has a reason!
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
161
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
162 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
163 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
164 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
165 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
166 version!
4410
2618318f988b DOCS thingie added
arpi
parents: 3258
diff changeset
167
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
168 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
169 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
170 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
171 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
172 stuff.
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
173
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
174 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
175 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
176 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
177 expect you to react if problems with your code are uncovered.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
178
12099
8dedd440c31c Commit independent changes separately.
diego
parents: 12025
diff changeset
179 Also read DOCS/tech/patches.txt !!!!
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
180
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
181 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
182
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
183
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
184
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
185 III. Beginners Guide by David Holm
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
186 ====================
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
187
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
188 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
189 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
190 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
191 most common pitfalls leading to CVS ban.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
192 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
193 that my CVS commits are proper and won't get me banned.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
194
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
195 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
196 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
197 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
198 :pserver: instead of :ext:, that way you can't commit development code
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
199 by accident (since only :ext: allows writes).
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
200 This is my setup:
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
201 ~/mplayer
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
202 /main
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
203 /main.dev
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
204 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
205 call your directories is entirely up to you. This is _only_ an example.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
206
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
207 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
208 ready to commit the changes to CVS start by doing the following in the
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
209 "~/mplayer" dir":
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
210 diff -Nur -x "CVS" -x ".*" main main.dev > dev2stable
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
211 dev2stable is the filename for the patchfile, it doesn't matter what you
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
212 call it.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
213
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
214 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
215 (comes with Midnight Commander) since it does syntax highlighting in patches
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
216 (= 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
217 (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
218 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
219
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
220 Read through the patch and remove all occurrences of:
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
221
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
222 * diff -Nur.... that are affecting files YOU have NOT modified. These
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
223 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
224 out at the same time)
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
225 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
226 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
227 file.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
228
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
229 * 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
230 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
231 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
232 binaries).
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
233
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
234 * 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
235 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
236 @@ -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
237 _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
238 break the patch!.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
239 Example:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
240 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
241 @@ -15,34 +15,6 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
242 - old_option;
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
243 + new_option;
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
244 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
245 ...
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
246
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
247 OK:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
248 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
249 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
250 ...
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
251
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
252 Will break patch:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
253 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
254 @@ -15,34 +15,6 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
255 old_option;
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
256 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
257 ...
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
258
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
259 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
260 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
261 then edit the file in "main" after I've applied the patch.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
262
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
263 * 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
264 This should be done in two steps:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
265 1. enter "main" and run
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
266
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
267 patch -p1 --dry-run < ../dev2stable
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
268
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
269 -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
270 "main" directory and that should be stripped when patching, if you
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
271 run it from "~/mplayer" you would use -p0).
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
272 --dry-run means that patch does everything it normally does but
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
273 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
274 your patch works or not.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
275 "../dev2stable" is your patchfile. (don't forget the '<')
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
276 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
277 why it failed, make a new patch and try again.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
278
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
279 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
280 and you are done with the patching part =).
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
281
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
282 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
283 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
284 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
285 bleeding if you want to keep CVS access!)
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
286 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
287 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
288 new files (discuss it on dev-eng before adding new files!).
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
289 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
290 you will commit:
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
291
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
292 cvs -z3 diff -u <filename> > <filename.d>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
293
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
294 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
295 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
296 updated local file.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
297 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
298
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
299 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
300 look something like this:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
301
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 That means you have added or removed tabs or spaces on that line.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
306 That qualifies as a cosmetical change and is disallowed. Edit the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
307 file and put back/remove the added/removed tabs/spaces.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
308 Rediff the file and make sure the cosmetic changes are fixed.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
309
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
310 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
311 anything. Commit one file at a time!
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
312
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
313 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
314 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
315 following command in "main" for each file you want to commit:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
316
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
317 cvs -z3 commit -m "<comment (changes)>" <filename>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
318 cvs -z3 commit <filename>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
319
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
320 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
321 prefer this method).
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
322
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
323 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
324 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
325 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
326 he made some very good points, so don't complain.