annotate DOCS/tech/svn-howto.txt @ 33108:5450a92ac4bd

Cosmetic: Adjust indent.
author ib
date Sun, 03 Apr 2011 14:26:38 +0000
parents 48622875aecc
children
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
30791
d8d15a9fcc43 Update URL for Subversion homepage.
diego
parents: 29510
diff changeset
24 http://subversion.apache.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
30792
f89de69d4527 Clarify that ssh is not required for committing to MPlayer.
diego
parents: 30791
diff changeset
28 You do not need a special checkout that works through ssh or similar in order
f89de69d4527 Clarify that ssh is not required for committing to MPlayer.
diego
parents: 30791
diff changeset
29 to be able to commit changes. All you need is the username and password pair
f89de69d4527 Clarify that ssh is not required for committing to MPlayer.
diego
parents: 30791
diff changeset
30 that you received from the MPlayer Subversion server admin.
f89de69d4527 Clarify that ssh is not required for committing to MPlayer.
diego
parents: 30791
diff changeset
31
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
32 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
33 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
34 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
35
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
36
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
37
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
38 I. BASICS:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
39 ==========
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
40
19248
dd30cb46819d Add a paragraph about which Subversion version to use.
diego
parents: 18845
diff changeset
41 0. Get Subversion:
dd30cb46819d Add a paragraph about which Subversion version to use.
diego
parents: 18845
diff changeset
42
28777
5d73859b9fb0 mphq now runs Subversion 1.5.
diego
parents: 27064
diff changeset
43 The MPlayer project server runs Subversion 1.5. For optimal compatibility
5d73859b9fb0 mphq now runs Subversion 1.5.
diego
parents: 27064
diff changeset
44 you should use version 1.5 or later.
19248
dd30cb46819d Add a paragraph about which Subversion version to use.
diego
parents: 18845
diff changeset
45
dd30cb46819d Add a paragraph about which Subversion version to use.
diego
parents: 18845
diff changeset
46
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
47 1. Checking out the source tree:
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
48
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
49 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ <target>
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
50
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
51 This will put the MPlayer sources into the directory <target>.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
52
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
53
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
54 2. Updating the source tree to the latest revision:
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
55
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
56 svn update
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
57
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
58 pulls in the latest changes from the repository to your working directory.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
59
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
60
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
61 3. Adding/removing files/directories:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
62
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
63 svn add <filename/dirname>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
64 svn delete <filename/dirname>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
65
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
66 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
67 directory.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
68
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
69
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
70 4. Showing modifications:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
71
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
72 svn diff <filename(s)>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
73
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
74 will show all local modifications in your working directory as unified diff.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
75
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
76
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
77 5. Inspecting the changelog:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
78
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
79 svn log <filename(s)>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
80
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
81 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
82 more comfortable than using 'svn log' and 'svn diff'. Find it here:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
83 http://svn.mplayerhq.hu/mplayer/trunk/
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
84
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
85
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
86 6. Checking source tree status:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
87
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
88 svn status
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
89
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
90 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
91 of a commit (additions, modifications, deletions, etc.).
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
92
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
93
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
94 7. Committing:
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
95
18767
a301e6ca6aca minor Subversion-related changes
diego
parents: 18764
diff changeset
96 svn update
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
97
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
98 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
99 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
100
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
101 svn diff <filename(s)>
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
102
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
103 to doublecheck your changes before committing to avoid trouble later on. All
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
104 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
105 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
106 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
107 please avoid problems through this extra level of scrutiny.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
108
23047
702085652768 Suggest svn diff command that does not show most cosmetics
reimar
parents: 22511
diff changeset
109 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
110
29510
8ba4a5ee1480 Adjust documentation about filtering out whitespace changes from 'svn diff'.
diego
parents: 29369
diff changeset
111 svn diff -x -uwb <filename(s)>
23047
702085652768 Suggest svn diff command that does not show most cosmetics
reimar
parents: 22511
diff changeset
112
19573
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
113 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
114
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
115 svn status
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
116
19662
042e0009a1c0 minor wording change
diego
parents: 19573
diff changeset
117 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
118 with '?').
35d9fef1879e svn diff does not show files you forgot to add, so recommend of svn status, too
reimar
parents: 19382
diff changeset
119
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
120 Once you have made sure everything is fine
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
121
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
122 svn commit <filename(s)>
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
123
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
124 propagates your stuff to the repository. If you have made several independent
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
125 changes, commit them separately, not at the same time.
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
126
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
127 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
128 project admins. By default, Subversion caches all authentication tokens.
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
129 This behavior can be disabled by setting both 'store-passwords' and
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
130 'store-auth-creds' to "no" in ~/.subversion/config. You might need to remove
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
131 previous cache files, which are located in ~/.subversion/auth, by hand.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
132
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
133 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
134 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
135 (~/.subversion/config) or set by one of the following environment variables:
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
136 SVN_EDITOR, VISUAL or EDITOR.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
137
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
138 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
139 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
140 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
141 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
142 include filenames in log messages, Subversion provides that information.
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
143
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
144
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
145 8. Renaming/moving/copying files or contents of files:
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
146
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
147 svn move/copy <source> <destination>
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
148 svn commit <source> <destination>
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
149
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
150 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
151 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
152
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
153 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
154 '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
155 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
156
19376
be3a0f578824 Update for recent discussions on mplayer-dev-eng.
diego
parents: 19359
diff changeset
157 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
158
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
159 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
160 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
161 those changes hard to trace.
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
162
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
163 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
164 so try to avoid them.
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
165
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
166
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
167 9. Reverting broken commits
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
168
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
169 There are 2 ways to reverse a change, they differ significantly in what they
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
170 do to the repository.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
171 The recommit old method:
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
172 svn merge
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
173 svn ci <file>
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
174 This simply changes the file(s) back to their old version locally and then
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
175 the change is committed as if it were a new change.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
176 The svn copy method
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
177 svn rm <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
178 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
179 svn ci <file>
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
180 This simply removes the file and then copies the last good version with
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
181 its history over it. This method can only be used to revert the n last
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
182 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
183 Neither method will change the history, checking out an old version will
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
184 always return exactly that revision with all its bugs and features. The
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
185 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
186 part of the directly visible history of the revisions after the reversal
2bed2e04289a Some typo fixes in svn-howto
reimar
parents: 20783
diff changeset
187 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
188 maintainers decision, or a change which mixed functional and cosmetic
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
189 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
190 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
191 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
192 should of course be committed again after the reversal but separately, so one
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
193 change with the functional stuff and one with the cosmetics.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
194 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
195 totally broken then it should be reversed with svn merge as otherwise
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
196 the fact that the change was bad would be hidden.
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
197 One method to decide which reversal method is best is to ask yourself
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
198 if there is any value in seeing the whole bad change and its removal
22502
diego
parents: 22345
diff changeset
199 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
200 the actual change does not clutter the immediately visible history and
19382
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
201 svn annotate.
7c6c205b88b6 trying to fix the reverting paragraph
michael
parents: 19376
diff changeset
202 If you are even just slightly uncertain how to revert something then ask on
22345
a50a835635c7 grammar/spelling
diego
parents: 22238
diff changeset
203 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
204
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
205
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
206 10. Reverting local changes
11395
5484bc13e90a Some notes about general CVS documentation added, new 'cvs admin' section
diego
parents: 9537
diff changeset
207
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
208 svn revert <filename(s)>
14806
6abe4fb845ff mphq uses ssh.com, explain RSA key generation for it.
diego
parents: 14059
diff changeset
209
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
210 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
211 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
212 NOTE: This has nothing to do with reverting changes on the Subversion
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
213 server! It only reverts changes that were not committed yet. If you need
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
214 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
215
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
216
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
217 11. Changing commit messages
18764
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
218
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
219 svn propedit svn:log --revprop -r <revision>
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
220
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
221 If your commit message is too short or not explanatory enough, you can edit
18845
6ff05923a028 Fix misplaced apostrophe.
diego
parents: 18841
diff changeset
222 it afterwards with 'svn propedit'.
18764
5b89070daa50 add command for changing commit messages after the commit took place.
ivo
parents: 18706
diff changeset
223
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
224
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
225 Contact the project admins <root at mplayerhq dot hu> if you have technical
18706
7fb537ba7c96 More CVS --> Subversion changes
ivo
parents: 18705
diff changeset
226 problems with the Subversion server.
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
227
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
228
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
229
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
230 II. POLICY / RULES:
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
231 ===================
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
232
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
233 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
234 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
235 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
236 (#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
237 work.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
238
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
239
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
240 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
241 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
242 (portability, exploits compiler bugs, unusual environment etc) they will be
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
243 reported and eventually fixed.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
244
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
245
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
246 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
247 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
248 keep related changes together.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
249
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
250
25395
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
251 4. Do not change behavior of the program (renaming options etc) or remove
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
252 functionality from the code without approval in a discussion on the
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
253 mplayer-dev-eng mailing list.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
254
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
255
25395
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
256 5. Do not commit changes which change behavior, defaults etc, without asking
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
257 first. The same applies to compiler warning fixes, trivial looking fixes and
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
258 to code maintained by other developers. We usually have a reason for doing
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
259 things the way we do. Send your changes as patches to the mplayer-dev-eng
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
260 mailing list, and if the code maintainers say OK, you may commit. This does
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
261 not apply to files you wrote and/or maintain.
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
262
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
263
31137
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
264 6. Do not mix cosmetic changes (indentation, function / variable renaming and
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
265 similar) with functional changes in a single commit. Instead, commit such
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
266 changes as a separate commit of their own.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
267
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
268
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
269 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
270 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
271 particular bug. Comments such as "fixed!" or "Changed it." are unacceptable.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
272
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
273
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
274 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
275 the log message. Since the mplayer-cvslog mailing list is publicly archived
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
276 you should add some spam protection to the email address. Send an answer to
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
277 mplayer-dev-eng (or wherever you got the patch from) saying that you applied
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
278 the patch. If the patch contains a documentation change, commit that as
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
279 well; do not leave it to the documentation maintainers.
2200
1333f6184ad3 some ifno for cvs write owners
arpi
parents:
diff changeset
280
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
281
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
282 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
283 a patch to mplayer-dev-eng instead.
12107
bc89ddda34b8 Developers should subscribe to mplayer-cvslog, mention mplayer-docs.
diego
parents: 12099
diff changeset
284
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
285
18660
7548a6a100da CVS --> Subversion
diego
parents: 18136
diff changeset
286 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
287 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
288 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
289 expect you to react if problems with your code are uncovered.
12024
f7980032d9ca whitespace cosmetics
diego
parents: 11679
diff changeset
290
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
291
13288
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
292 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
293 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
294 maintainers will review and commit your stuff.
78d00bbba153 CVS policy updated as discussed on dev-eng.
diego
parents: 12904
diff changeset
295
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
296
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
297 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
298 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
299 experience, these changes are likely to be controversial:
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
300 - feature removal, even if obsolete
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
301 - changes to "special" output messages (like the "Core dumped ;)" message)
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
302 - verbosity changes from default (info) level
22510
76f7adafc67b spelling/punctuation
diego
parents: 22502
diff changeset
303 - changes to "historical" parts of docs and web pages
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
304 - use of internal or external libraries
26937
e4086b953952 Add reverting commits to the list of potentially controversial actions.
diego
parents: 25395
diff changeset
305 - reverting commits from other developers
26944
a7bebd564d09 correct spelling error ;)
ivo
parents: 26943
diff changeset
306 - 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
307 any spelling errors.
20783
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
308
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
309
25395
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
310 13. Try to keep important discussions and requests (also) on the mplayer-dev-eng
0a40424a9d05 cosmetics: reformatting
diego
parents: 25394
diff changeset
311 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
312 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
313
dc1a1ff6c7d9 Updated for controversial changes and irc-only decisions
rtogni
parents: 19662
diff changeset
314
29369
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
315 14. MPlayer contains some external code that is partly patched, partly copied
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
316 verbatim (see Copyright for details). This code should not be modified
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
317 unless there is a very good reason. Much of it is maintained upstream.
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
318 We should be good open source citizens, submit our fixes upstream and keep
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
319 the differences as small as possible.
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
320 If you have to modify external code, do not forget to update the diff file
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
321 with our local changes.
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
322
b95c20d423b3 Add a section about handling external code to the policy.
diego
parents: 28777
diff changeset
323
31137
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
324 15. Use K&R style with 4 space indentation, no tabs and no trailing whitespace.
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
325 Unnecessary braces should be avoided. This policy applies to new files. In
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
326 existing files that don't follow K&R style, try to respect the surrounding
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
327 style, but in doubt, go for K&R.
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
328
72638e3330a3 K&R coding style should be applied to new code.
diego
parents: 30792
diff changeset
329
12099
8dedd440c31c Commit independent changes separately.
diego
parents: 12025
diff changeset
330 Also read DOCS/tech/patches.txt !!!!
5415
e9b15870e82f updates - thanks to Melanson...
arpi
parents: 4410
diff changeset
331
7904
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
332 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
333
98168d30f67d Spellchecked, reworded, reformatted, small additions and corrections.
diego
parents: 5415
diff changeset
334
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
335
18827
67f847c438bd Remove old CVS beginners guide
ivo
parents: 18769
diff changeset
336 III. Beginners Guide
3258
d7bd32263398 Added a beginners guide
mswitch
parents: 3149
diff changeset
337 ====================
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
338
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
339 The typical flow of development would be:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
340
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
341 1. Check out the source:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
342
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
343 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ devel
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
344
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
345
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
346 2. Make your changes.
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
347
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
348
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
349 3. Create a patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
350
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
351 Run 'svn diff' from the root of the source tree, like this:
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
352
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
353 cd devel
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
354 svn diff > ../my_changes.patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
355
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
356 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
357 by other developers, you can specify the filename(s), for example:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
358
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
359 svn diff mplayer.c > ../major_cleanup.patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
360
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
361
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
362 4. Check the patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
363
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
364 Check out another, clean source tree and verify your patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
365
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
366 svn checkout svn://svn.mplayerhq.hu/mplayer/trunk/ clean
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
367 cd clean
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
368 patch -p0 --dry-run < ../my_changes.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 If there are no errors, you can apply your patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
371
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
372 patch -p0 < ../my_changes.patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
373
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
374 After that, verify that MPlayer still builds correctly with your patch
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
375 applied. Also, be sure that your patch meets our policy as described in
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
376 section II, specifically rules 1 to 6, before you continue submitting
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
377 the patch.
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 5. Submit 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 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
383 patch does and why, and attach the patch file for review by others.
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
384
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
385
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
386 6. During the review process, incorporate all suggested fixes. Go to step 2
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
387 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
388 you don't agree with certain suggestions, things can be discussed on
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
389 the mailing list in a polite manner.
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
390
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
391
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
392 7. Commit the patch:
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
393
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
394 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
395 most recent version of your patch with 'svn diff'! After verifying that
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
396 you met these conditions, commit with:
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
397
18840
3b42c599ea09 Rewrite and extend the Subversion guidelines.
diego
parents: 18828
diff changeset
398 svn commit <filename(s)>
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
399
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
400 Go to step 2 ad infinitum until MPlayer is the perfect media player ;)
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
401
18841
3f59edf39ea2 cosmetics
diego
parents: 18840
diff changeset
402
18828
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
403 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
404 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
405 maintain. If it touches other code or is otherwise very intrusive, please
55ebe20fadbc Add new Subversion beginners guide
ivo
parents: 18827
diff changeset
406 post it to mplayer-dev-eng first.