annotate DOCS/tech/cvs-howto.txt @ 11467:d3fc1feb652a

Small format fixes.
author mosu
date Sat, 15 Nov 2003 22:46:47 +0000
parents 5484bc13e90a
children 16c01dbca208
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
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
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.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
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:
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
43
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
44 export CVS_RSH=ssh
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
45 cvs -z3 -d:ext:LOGIN@mplayerhq.hu:/cvsroot/mplayer co main
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
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!
3149
fc5a2369696e extended a bit
arpi
parents: 2200
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)
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
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
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
56 to files. If you have different comments for different files, commit them
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).
3149
fc5a2369696e extended a bit
arpi
parents: 2200
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
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
63
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
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
69
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
70 6. Checking changes:
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
71
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
72 cvs -z3 diff -u filename(s)
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
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.
3149
fc5a2369696e extended a bit
arpi
parents: 2200
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
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
81 cvs -z3 log filename(s)
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
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,
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
98 you can use the 'cvs admin -o' command. Assuming that 1.123 is the latest
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
99 version of the file and the one you want to remove
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
100
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
101 cvs -z3 admin -o1.123 filename
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
102
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
103 Do NOT do this unless you really know what you are doing and the version you
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
104 are removing is the last version, e.g. there were no commits after yours.
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
105
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
106
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
107 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
108 server.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
109
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
110
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
111
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
112 II. POLICY / RULES:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
113 ===================
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
114
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
115 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
116 enabled code which breaks compilation or compiles but does not work.)
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
117
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
118 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
119 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
120 (portability, exploits compiler bugs, unusual environment etc) they will be
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
121 reported and eventually fixed.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
122
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
123 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
124 (#ifdef etc) by default.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
125
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
126 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
127 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
128 functionality from the code. Just improve!
9263
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
129 Do not commit changes to the build system (Makefiles, configure script)
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
130 which change behaviour, defaults etc, without asking (and your change being
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
131 accepted) on the mplayer-dev-eng mailing list first. The same applies to
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
132 compiler warning fixes and trivial looking fixes. We usually have a reason
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
133 for doing things the way we do. Send them as patches to the mailing list,
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
134 and if the code maintainers say OK, you may commit. This does not apply to
0373ae5efc98 reworded
diego
parents: 8755
diff changeset
135 files written and/or maintained by you.
8755
arpi
parents: 7904
diff changeset
136
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
137 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
138 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
139 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
140 own style... (Many projects force a given indentation style - we don't.)
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
141
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
142 Note: If you had to put if(){ .. } over a large (> 5 lines) chunk of code,
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
143 do NOT change the indentation of the inner part (move it right)!
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
144
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
145 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
146 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
147 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
148 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
149 acceptable.
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 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
152 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
153 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
154 has a reason!
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
155
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
156 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
157 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
158 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
159 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
160 version!
4410
2618318f988b DOCS thingie added
arpi
parents: 3258
diff changeset
161
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
162 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
163 breaking docs or getting translations or the homepage desynced. If you are
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
164 unsure about this, send a patch to dev-eng, the documentation maintainers
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
165 will review and commit your stuff.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
166
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
167 Also read patches.txt !!!!
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
168
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
169 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
170
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
171
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
172
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
173 III. Beginners Guide by David Holm
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
174 ====================
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
175
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
176 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
177 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
178 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
179 most common pitfalls leading to CVS ban.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
180 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
181 that my CVS commits are proper and won't get me banned.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
182
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
183 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
184 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
185 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
186 :pserver: instead of :ext:, that way you can't commit development code
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
187 by accident (since only :ext: allows writes).
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
188 This is my setup:
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
189 ~/mplayer
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
190 /main
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
191 /main.dev
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
192 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
193 call your directories is entirely up to you. This is _only_ an example.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
194
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
195 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
196 ready to commit the changes to CVS start by doing the following in the
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
197 "~/mplayer" dir":
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
198 diff -Nur -x "CVS" -x ".*" main main.dev > dev2stable
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
199 dev2stable is the filename for the patchfile, it doesn't matter what you
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
200 call it.
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
201
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
202 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
203 (comes with Midnight Commander) since it does syntax highlighting in patches
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
204 (= 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
205 (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
206 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
207
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
208 Read through the patch and remove all occurrences of:
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
209
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
210 * diff -Nur.... that are affecting files YOU have NOT modified. These
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
211 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
212 out at the same time)
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
213 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
214 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
215 file.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
216
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
217 * 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
218 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
219 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
220 binaries).
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
221
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
222 * 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
223 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
224 @@ -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
225 _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
226 break the patch!.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
227 Example:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
228 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
229 @@ -15,34 +15,6 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
230 - old_option;
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
231 + new_option;
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
232 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
233 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
234
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
235 OK:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
236 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
237 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
238 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
239
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
240 Will break patch:
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 @@ -65,13 +65,3 @@
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
245 ...
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
246
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
247 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
248 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
249 then edit the file in "main" after I've applied the patch.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
250
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
251 * 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
252 This should be done in two steps:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
253 1. enter "main" and run
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 patch -p1 --dry-run < ../dev2stable
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
256
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
257 -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
258 "main" directory and that should be stripped when patching, if you
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
259 run it from "~/mplayer" you would use -p0).
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
260 --dry-run means that patch does everything it normally does but
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
261 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
262 your patch works or not.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
263 "../dev2stable" is your patchfile. (don't forget the '<')
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
264 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
265 why it failed, make a new patch and try again.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
266
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
267 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
268 and you are done with the patching part =).
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
269
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
270 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
271 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
272 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
273 bleeding if you want to keep CVS access!)
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
274 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
275 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
276 new files (discuss it on dev-eng before adding new files!).
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
277 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
278 you will commit:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
279
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
280 cvs -z3 diff -u <filename> > <filename.d>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
281
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
282 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
283 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
284 updated local file.
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
285 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
286
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
287 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
288 look something like this:
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
289
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
290 -
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
291 +
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
292
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
293 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
294 That qualifies as a cosmetical change and is disallowed. Edit the
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
295 file and put back/remove the added/removed tabs/spaces.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
296 Rediff the file and make sure the cosmetic changes are fixed.
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
297
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
298 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
299 anything. Commit one file at a time!
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
300
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
301 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
302 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
303 following command in "main" for each file you want to commit:
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 cvs -z3 commit -m "<comment (changes)>" <filename>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
306 cvs -z3 commit <filename>
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
307
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
308 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
309 prefer this method).
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
310
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
311 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
312 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
313 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
314 he made some very good points, so don't complain.