annotate DOCS/tech/svn-howto.txt @ 28363:7baa7292f575

Fix warnings about undefined preprocessor directives.
author diego
date Fri, 30 Jan 2009 23:22:29 +0000
parents 57b3a2ae7120
children 5d73859b9fb0
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
18660
7548a6a100da CVS --> Subversion
diego
parents: 18136
diff changeset
2 About Subversion write access:
7548a6a100da CVS --> Subversion
diego
parents: 18136
diff changeset
3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
4
18705
9a731c61c870 CVS --> Subversion
ivo
parents: 18660
diff changeset
5 Before everything else, you should know how to use Subversion properly.
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
6 Luckily Subversion comes with excellent documentation.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
7
18705
9a731c61c870 CVS --> Subversion
ivo
parents: 18660
diff changeset
8 svn help
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
9
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
10 shows you the available subcommands,
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
11
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
12 svn help <command>
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
13
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
14 shows information about the subcommand <command>.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
15
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
16 The most comprehensive manual is the book "Version Control with Subversion"
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
17 by Ben Collins-Sussman, Brian W. Fitzpatrick and C. Michael Pilato. It can
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
18 be viewed online at
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
19
18705
9a731c61c870 CVS --> Subversion
ivo
parents: 18660
diff changeset
20 http://svnbook.org/
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
21
18705
9a731c61c870 CVS --> Subversion
ivo
parents: 18660
diff changeset
22 For more information about the Subversion project, visit
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
23
18705
9a731c61c870 CVS --> Subversion
ivo
parents: 18660
diff changeset
24 http://subversion.tigris.org/
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
25
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
26 Consult these resources whenever you have problems, they are quite exhaustive.
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
27
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
28 What follows now is a basic introduction to Subversion and some MPlayer-specific
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
29 guidelines. Read it at least once, if you are granted commit privileges to the
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
30 MPlayer project you are expected to be familiar with these rules.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
31
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
32
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
33
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
34 I. BASICS:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
35 ==========
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
36
19248
dd30cb46819d Add a paragraph about which Subversion version to use.
diego
parents: 18845
diff changeset
37 0. Get Subversion:
dd30cb46819d Add a paragraph about which Subversion version to use.
diego
parents: 18845
diff changeset
38
26946
0bad5baad04a mphq2 runs svn 1.4.x.
diego
parents: 26944
diff changeset
39 The MPlayer project server runs Subversion 1.4. For optimal compatibility
0bad5baad04a mphq2 runs svn 1.4.x.
diego
parents: 26944
diff changeset
40 you should use version 1.4 or later.
19248
dd30cb46819d Add a paragraph about which Subversion version to use.
diego
parents: 18845
diff changeset
41
dd30cb46819d Add a paragraph about which Subversion version to use.
diego
parents: 18845
diff changeset
42
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
43 1. Checking out the source tree:
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
44
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
45 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ <target>
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
46
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
47 This will put the MPlayer sources into the directory <target>.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
48
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
49
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
50 2. Updating the source tree to the latest revision:
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
51
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
52 svn update
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
53
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
54 pulls in the latest changes from the repository to your working directory.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
55
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
56
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
57 3. Adding/removing files/directories:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
58
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
59 svn add <filename/dirname>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
60 svn delete <filename/dirname>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
61
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
62 Subversion needs to get notified of all changes you make to your working
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
63 directory.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
64
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
65
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
66 4. Showing modifications:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
67
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
68 svn diff <filename(s)>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
69
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
70 will show all local modifications in your working directory as unified diff.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
71
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
72
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
73 5. Inspecting the changelog:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
74
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
75 svn log <filename(s)>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
76
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
77 You may also find viewvc, a web frontend for Subversion, helpful. It's often
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
78 more comfortable than using 'svn log' and 'svn diff'. Find it here:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
79 http://svn.mplayerhq.hu/mplayer/trunk/
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
80
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
81
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
82 6. Checking source tree status:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
83
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
84 svn status
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
85
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
86 detects all the changes you made and lists what actions will be taken in case
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
87 of a commit (additions, modifications, deletions, etc.).
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
88
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
89
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
90 7. Committing:
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
91
18767
a301e6ca6aca minor Subversion-related changes
diego
parents: 18764
diff changeset
92 svn update
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
93
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
94 Run 'svn update' before committing to make sure there were no changes to the
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
95 files you worked on in the meantime. Afterwards look at the output of
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
96
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
97 svn diff <filename(s)>
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
98
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
99 to doublecheck your changes before committing to avoid trouble later on. All
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
100 experienced developers do this on each and every commit, no matter how small.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
101 Every one of them has been saved from looking like a fool by this many times.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
102 It's very easy for stray debug output or cosmetic modifications to slip in,
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
103 please avoid problems through this extra level of scrutiny.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
104
23047
702085652768 Suggest svn diff command that does not show most cosmetics
reimar
parents: 22511
diff changeset
105 For cosmetics-only commits you should get (almost) empty output from
702085652768 Suggest svn diff command that does not show most cosmetics
reimar
parents: 22511
diff changeset
106
27064
57b3a2ae7120 It cannot hurt to add -E to the diff options to avoid whitespace changes.
diego
parents: 26948
diff changeset
107 svn diff --diff-cmd diff -x '-duwbBE' <filename(s)>
23047
702085652768 Suggest svn diff command that does not show most cosmetics
reimar
parents: 22511
diff changeset
108
19573
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
109 Also check the output of
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
110
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
111 svn status
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
112
19662
042e0009a1c0 minor wording change
diego
parents: 19573
diff changeset
113 to make sure you did not forget to 'svn add' some files (they will be marked
19573
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
114 with '?').
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
115
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
116 Once you have made sure everything is fine
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
117
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
118 svn commit <filename(s)>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
119
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
120 propagates your stuff to the repository. If you have made several independent
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
121 changes, commit them separately, not at the same time.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
122
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
123 When prompted for a password, type the password you got assigned by the
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
124 project admins. By default, Subversion caches all authentication tokens.
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
125 This behavior can be disabled by setting both 'store-passwords' and
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
126 'store-auth-creds' to "no" in ~/.subversion/config. You might need to remove
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
127 previous cache files, which are located in ~/.subversion/auth, by hand.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
128
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
129 You will be prompted for a log message in an editor, which is either specified
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
130 by --editor-cmd on the command line, set in your personal configuration file
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
131 (~/.subversion/config) or set by one of the following environment variables:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
132 SVN_EDITOR, VISUAL or EDITOR.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
133
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
134 Log messages should be concise but descriptive. Explain why you made a change,
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
135 what you did will be obvious from the changes themselves most of the time.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
136 Saying just "bug fix" or "10l" is bad. Remember that people of varying skill
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
137 levels look at and educate themselves while reading through your code. Don't
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
138 include filenames in log messages, Subversion provides that information.
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
139
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
140
19357
59af53f4f436 update the moving & copying rules as disscussed on mplayer-dev + some (but not all as iam lazy) fixes by the wanderer
michael
parents: 19248
diff changeset
141 8. Renaming/moving/copying files or contents of files:
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
142
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
143 svn move/copy <source> <destination>
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
144 svn commit <source> <destination>
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
145
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
146 Do not move, rename or copy files of which you are not the maintainer without
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
147 discussing it on the mplayer-dev-eng mailing list first!
19357
59af53f4f436 update the moving & copying rules as disscussed on mplayer-dev + some (but not all as iam lazy) fixes by the wanderer
michael
parents: 19248
diff changeset
148
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
149 Never copy or move a file by using 'svn delete' and 'svn add'. Always use
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
150 'svn move' or 'svn copy' instead in order to preserve history and minimize
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
151 the size of diffs.
19357
59af53f4f436 update the moving & copying rules as disscussed on mplayer-dev + some (but not all as iam lazy) fixes by the wanderer
michael
parents: 19248
diff changeset
152
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
153 To split a file, use 'svn copy' and remove the unneeded lines from each file.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
154
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
155 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
156 reason and discuss it on the mplayer-dev-eng mailing list first. It will make
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
157 those changes hard to trace.
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
158
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
159 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
160 so try to avoid them.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
161
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
162
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
163 9. Reverting broken commits
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
164
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
165 There are 2 ways to reverse a change, they differ significantly in what they
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
166 do to the repository.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
167 The recommit old method:
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
168 svn merge
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
169 svn ci <file>
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
170 This simply changes the file(s) back to their old version locally and then
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
171 the change is committed as if it were a new change.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
172 The svn copy method
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
173 svn rm <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
174 svn cp -r<good revision> svn://svn.mplayerhq.hu/mplayer/trunk/[<path>/]<file> <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
175 svn ci <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
176 This simply removes the file and then copies the last good version with
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
177 its history over it. This method can only be used to revert the n last
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
178 commits but not to revert a bad commit in the middle of its history.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
179 Neither method will change the history, checking out an old version will
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
180 always return exactly that revision with all its bugs and features. The
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
181 difference is that with the svn copy method the broken commit will not be
22238
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
182 part of the directly visible history of the revisions after the reversal
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
183 So if the change was completely broken like reindenting a file against the
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
184 maintainers decision, or a change which mixed functional and cosmetic
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
185 changes then it is better if it is not part of the visible history as it
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
186 would make it hard to read, review and would also break svn annotate.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
187 For the example of a change which mixed functional and cosmetic parts they
22238
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
188 should of course be committed again after the reversal but separately, so one
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
189 change with the functional stuff and one with the cosmetics.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
190 OTOH if the change which you want to reverse was simply buggy but not
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
191 totally broken then it should be reversed with svn merge as otherwise
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
192 the fact that the change was bad would be hidden.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
193 One method to decide which reversal method is best is to ask yourself
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
194 if there is any value in seeing the whole bad change and its removal
22502
diego
parents: 22345
diff changeset
195 in SVN vs. just seeing a comment that says what has been reversed while
22238
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
196 the actual change does not clutter the immediately visible history and
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
197 svn annotate.
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
198 If you are even just slightly uncertain how to revert something then ask on
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
199 the mplayer-dev-eng mailing list.
15227
167085fd11af 'cvs admin -o' is dangerous and should be handled with extra care.
diego
parents: 14856
diff changeset
200
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
201
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
202 10. Reverting local changes
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
203
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
204 svn revert <filename(s)>
14806
6abe4fb845ff mphq uses ssh.com, explain RSA key generation for it.
diego
parents: 14059
diff changeset
205
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
206 In case you made a lot of local changes to a file and want to start over
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
207 with a fresh checkout of that file, you can use 'svn revert <filename(s)>'.
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
208 NOTE: This has nothing to do with reverting changes on the Subversion
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
209 server! It only reverts changes that were not committed yet. If you need
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
210 to revert a broken commit, see 9.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
211
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
212
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
213 11. Changing commit messages
18764
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
214
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
215 svn propedit svn:log --revprop -r <revision>
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
216
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
217 If your commit message is too short or not explanatory enough, you can edit
18845
6ff05923a028 Fix misplaced apostrophe.
diego
parents: 18841
diff changeset
218 it afterwards with 'svn propedit'.
18764
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
219
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
220
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
221 Contact the project admins <root at mplayerhq dot hu> if you have technical
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
222 problems with the Subversion server.
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
223
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
224
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
225
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
226 II. POLICY / RULES:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
227 ===================
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
228
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
229 1. You must not commit code which breaks MPlayer! (Meaning unfinished but
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
230 enabled code which breaks compilation or compiles but does not work.)
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
231 You can commit unfinished stuff (for testing etc), but it must be disabled
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
232 (#ifdef etc) by default so it does not interfere with other developers'
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
233 work.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
234
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
235
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
236 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
237 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
238 (portability, exploits compiler bugs, unusual environment etc) they will be
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
239 reported and eventually fixed.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
240
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
241
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
242 3. Do not commit unrelated changes together, split them into self-contained
22511
6fb4b3944764 Clarify that commits should not be split arbitrarily by file/directory.
diego
parents: 22510
diff changeset
243 pieces, but not smaller. Do not split commits by files or directories,
6fb4b3944764 Clarify that commits should not be split arbitrarily by file/directory.
diego
parents: 22510
diff changeset
244 keep related changes together.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
245
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
246
25395
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
247 4. Do not change behavior of the program (renaming options etc) or remove
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
248 functionality from the code without approval in a discussion on the
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
249 mplayer-dev-eng mailing list.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
250
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
251
25395
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
252 5. Do not commit changes which change behavior, defaults etc, without asking
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
253 first. The same applies to compiler warning fixes, trivial looking fixes and
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
254 to code maintained by other developers. We usually have a reason for doing
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
255 things the way we do. Send your changes as patches to the mplayer-dev-eng
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
256 mailing list, and if the code maintainers say OK, you may commit. This does
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
257 not apply to files you wrote and/or maintain.
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
258
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
259
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
260 6. We refuse source indentation and other cosmetic changes if they are mixed
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
261 with functional changes, such commits will be rejected and removed. Every
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
262 developer has his own indentation style, you should not change it. Of course
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
263 if you (re)write something, you can use your own style... (Many projects
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
264 force a given indentation style - we don't.) If you really need to make
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
265 indentation changes (try to avoid this), separate them strictly from real
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
266 changes.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
267
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
268 NOTE: If you had to put if(){ .. } over a large (> 5 lines) chunk of code,
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
269 do NOT change the indentation of the inner part (don't move it to the right)!
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
270
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
271
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
272 7. Always fill out the commit log message. Describe in a few lines what you
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
273 changed and why. You can refer to mailing list postings if you fix a
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
274 particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
275
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
276
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
277 8. If you apply a patch by someone else, include the name and email address in
25395
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
278 the log message. Since the mplayer-cvslog mailing list is publicly archived
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
279 you should add some spam protection to the email address. Send an answer to
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
280 mplayer-dev-eng (or wherever you got the patch from) saying that you applied
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
281 the patch. If the patch contains a documentation change, commit that as
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
282 well; do not leave it to the documentation maintainers.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
283
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
284
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
285 9. Do NOT commit to code actively maintained by others without permission. Send
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
286 a patch to mplayer-dev-eng instead.
12107
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
287
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
288
18660
7548a6a100da CVS --> Subversion
diego
parents: 18136
diff changeset
289 10. Subscribe to the mplayer-cvslog mailing list. The diffs of all commits
12107
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
290 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
291 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
292 expect you to react if problems with your code are uncovered.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
293
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
294
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
295 11. Update the documentation if you change behavior or add features. If you are
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
296 unsure how best to do this, send a patch to mplayer-docs, the documentation
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
297 maintainers will review and commit your stuff.
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
298
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
299
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
300 12. Always send a patch to the mplayer-dev-eng mailing list before committing
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
301 if you suspect that the change is going to be controversial. Based on past
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
302 experience, these changes are likely to be controversial:
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
303 - feature removal, even if obsolete
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
304 - changes to "special" output messages (like the "Core dumped ;)" message)
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
305 - verbosity changes from default (info) level
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
306 - changes to "historical" parts of docs and web pages
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
307 - use of internal or external libraries
26937
e4086b953952 Add reverting commits to the list of potentially controversial actions.
diego
parents: 25395
diff changeset
308 - reverting commits from other developers
26944
a7bebd564d09 correct spelling error ;)
ivo
parents: 26943
diff changeset
309 - making the spelling of words consistent without actually correcting
26943
80b3d1a37474 List more actions which have proven controversial in the past.
michael
parents: 26937
diff changeset
310 any spelling errors.
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
311
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
312
25395
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
313 13. Try to keep important discussions and requests (also) on the mplayer-dev-eng
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
314 mailing list, so that all developers can benefit from them.
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
315 IRC is good for quick discussions, but nobody is there 24/7.
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
316
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
317
12099
8dedd440c31c Commit independent changes separately.
diego
parents: 12025
diff changeset
318 Also read DOCS/tech/patches.txt !!!!
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
319
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
320 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
321
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
322
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
323
18827
67f847c438bd Remove old CVS beginners guide
ivo
parents: 18769
diff changeset
324 III. Beginners Guide
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
325 ====================
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
326
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
327 The typical flow of development would be:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
328
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
329 1. Check out the source:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
330
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
331 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ devel
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
332
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
333
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
334 2. Make your changes.
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
335
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
336
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
337 3. Create a patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
338
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
339 Run 'svn diff' from the root of the source tree, like this:
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
340
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
341 cd devel
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
342 svn diff > ../my_changes.patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
343
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
344 If you have made several changes, but only want to submit one for review
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
345 by other developers, you can specify the filename(s), for example:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
346
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
347 svn diff mplayer.c > ../major_cleanup.patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
348
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
349
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
350 4. Check the patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
351
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
352 Check out another, clean source tree and verify your patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
353
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
354 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ clean
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
355 cd clean
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
356 patch -p0 --dry-run < ../my_changes.patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
357
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
358 If there are no errors, you can apply your patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
359
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
360 patch -p0 < ../my_changes.patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
361
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
362 After that, verify that MPlayer still builds correctly with your patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
363 applied. Also, be sure that your patch meets our policy as described in
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
364 section II, specifically rules 1 to 6, before you continue submitting
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
365 the patch.
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
366
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
367
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
368 5. Submit the patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
369
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
370 Send an e-mail to the mplayer-dev-eng mailing list. Describe what your
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
371 patch does and why, and attach the patch file for review by others.
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
372
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
373
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
374 6. During the review process, incorporate all suggested fixes. Go to step 2
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
375 repeatedly until there is nothing more to do for step 6. Of course, if
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
376 you don't agree with certain suggestions, things can be discussed on
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
377 the mailing list in a polite manner.
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
378
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
379
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
380 7. Commit the patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
381
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
382 If your patch is accepted, double check if your source tree contains the
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
383 most recent version of your patch with 'svn diff'! After verifying that
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
384 you met these conditions, commit with:
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
385
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
386 svn commit <filename(s)>
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
387
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
388 Go to step 2 ad infinitum until MPlayer is the perfect media player ;)
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
389
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
390
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
391 Note: If you are listed as the maintainer for a particular piece of code,
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
392 you can skip step 5 and 6 if your patch _only_ applies to the code you
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
393 maintain. If it touches other code or is otherwise very intrusive, please
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
394 post it to mplayer-dev-eng first.