/[gentoo]/xml/htdocs/proj/en/glep/glep-0036.html
Gentoo

Contents of /xml/htdocs/proj/en/glep/glep-0036.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations) (download) (as text)
Sun Mar 13 16:13:10 2005 UTC (9 years, 1 month ago) by g2boojum
Branch: MAIN
File MIME type: text/html
new glep

1 <?xml version="1.0" encoding="utf-8" ?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4 <!--
5 This HTML is auto-generated. DO NOT EDIT THIS FILE! If you are writing a new
6 PEP, see http://www.python.org/peps/pep-0001.html for instructions and links
7 to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE!
8 -->
9 <head>
10 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
11 <meta name="generator" content="Docutils 0.3.5: http://docutils.sourceforge.net/" />
12 <title>GLEP 36 -- Subversion/CVS for Gentoo Hosted Projects</title>
13 <link rel="stylesheet" href="tools/glep.css" type="text/css" />
14 </head>
15 <body bgcolor="white">
16 <table class="navigation" cellpadding="0" cellspacing="0"
17 width="100%" border="0">
18 <tr><td class="navicon" width="150" height="35">
19 <a href="http://www.gentoo.org/" title="Gentoo Linux Home Page">
20 <img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]"
21 border="0" width="150" height="35" /></a></td>
22 <td class="textlinks" align="left">
23 [<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>]
24 [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>]
25 [<b><a href="./glep-0036.txt">GLEP Source</a></b>]
26 </td></tr></table>
27 <div class="document">
28 <table class="rfc2822 field-list" frame="void" rules="none">
29 <col class="field-name" />
30 <col class="field-body" />
31 <tbody valign="top">
32 <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">36</td>
33 </tr>
34 <tr class="field"><th class="field-name">Title:</th><td class="field-body">Subversion/CVS for Gentoo Hosted Projects</td>
35 </tr>
36 <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td>
37 </tr>
38 <tr class="field"><th class="field-name">Author:</th><td class="field-body">Aaron Walker &lt;ka0ttic&#32;&#97;t&#32;gentoo.org&gt;</td>
39 </tr>
40 <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs/xml/htdocs/proj/en/glep/glep-0036.txt?cvsroot=gentoo">2005/03/13 16:12:53</a></td>
41 </tr>
42 <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td>
43 </tr>
44 <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td>
45 </tr>
46 <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td>
47 </tr>
48 <tr class="field"><th class="field-name">Created:</th><td class="field-body">11-Nov-2004</td>
49 </tr>
50 <tr class="field"><th class="field-name">Post-Date:</th><td class="field-body">13-Mar-2005</td>
51 </tr>
52 </tbody>
53 </table>
54 <hr />
55 <div class="contents topic" id="contents">
56 <p class="topic-title first"><a name="contents">Contents</a></p>
57 <ul class="simple">
58 <li><a class="reference" href="#abstract" id="id11" name="id11">Abstract</a></li>
59 <li><a class="reference" href="#motivation" id="id12" name="id12">Motivation</a></li>
60 <li><a class="reference" href="#specification" id="id13" name="id13">Specification</a></li>
61 <li><a class="reference" href="#backwards-compatibility" id="id14" name="id14">Backwards Compatibility</a></li>
62 <li><a class="reference" href="#references" id="id15" name="id15">References</a></li>
63 <li><a class="reference" href="#copyright" id="id16" name="id16">Copyright</a></li>
64 </ul>
65 </div>
66 <div class="section" id="abstract">
67 <h1><a class="toc-backref" href="#id11" name="abstract">Abstract</a></h1>
68 <p>Allow maintainers of Gentoo hosted projects to choose between Subversion/CVS.</p>
69 </div>
70 <div class="section" id="motivation">
71 <h1><a class="toc-backref" href="#id12" name="motivation">Motivation</a></h1>
72 <p>By offering a choice of version control systems, developers who want or need
73 certain features, can choose which one suits them or their project the best.</p>
74 <p>In addition, there are quite a few projects that should be Gentoo hosted, but
75 are hosted elsewhere due to the fact that Subversion is not currently offered.
76 Examples include the app-vim/gentoo-syntax package (<a class="footnote-reference" href="#id6" id="id1" name="id1">[1]</a>), and
77 app-shells/bash-completion-config (<a class="footnote-reference" href="#id7" id="id2" name="id2">[2]</a>).</p>
78 <p>Subversion has many advantages over CVS, including changesets, directory
79 versioning, atomic commits, versioned metadata, and more efficient branching
80 and tagging (<a class="footnote-reference" href="#id8" id="id3" name="id3">[3]</a>). Despite these advantages, many developers feel that
81 Subversion is not yet ready for the main tree due to scaling issues.</p>
82 </div>
83 <div class="section" id="specification">
84 <h1><a class="toc-backref" href="#id13" name="specification">Specification</a></h1>
85 <p>The following steps describe, in detail, the process of setting up the
86 Subversion svnserve daemon (over SSH) and creating new repositories.
87 Information is already available for converting Gentoo CVS repositories (<a class="footnote-reference" href="#id9" id="id4" name="id4">[4]</a>)
88 in addition to the cvs2svn documentation itself (<a class="footnote-reference" href="#id10" id="id5" name="id5">[5]</a>).</p>
89 <ol class="arabic">
90 <li><p class="first">Install dev-util/subversion:</p>
91 <pre class="literal-block">
92 $ emerge subversion
93 </pre>
94 </li>
95 <li><p class="first">Write wrapper script for svnserve:</p>
96 <pre class="literal-block">
97 $ $EDITOR /usr/local/bin/svnserve-ssh &amp;&amp; chmod +x \
98 &gt; /usr/local/bin/svnserve-ssh
99
100 #!/bin/sh
101 umask 002
102 exec /usr/bin/svnserve &quot;$&#64;&quot;
103 </pre>
104 </li>
105 <li><p class="first">Modify the svnserve rc script:</p>
106 <pre class="literal-block">
107 $ cp /etc/init.d/svnserve /etc/init.d/svnserve-ssh
108 $ sed -i 's:/usr/bin/svnserve:/usr/local/bin/svnserve-ssh:' \
109 &gt; /etc/init.d/svnserve-ssh
110 </pre>
111 </li>
112 <li><p class="first">Edit svnserve rc config:</p>
113 <pre class="literal-block">
114 $ ln -s /etc/init.d/svnserve /etc/init.d/svnserve-ssh
115 $ $EDITOR /etc/init.d/svnserve
116 </pre>
117 <p>SVNSERVE_OPTS=&quot;--root=/var/svnroot&quot;
118 SVNSERVE_USER=&quot;svn&quot;
119 SVNSERVE_GROUP=&quot;svn&quot;</p>
120 </li>
121 <li><p class="first">Add svn group and user:</p>
122 <pre class="literal-block">
123 $ groupadd svn
124 $ useradd svn -d /var/svnroot -s /bin/false -g svn
125 </pre>
126 </li>
127 <li><p class="first">Create the directory that will hold the repositories:</p>
128 <pre class="literal-block">
129 $ mkdir -p /var/svnroot/conf
130 </pre>
131 </li>
132 <li><p class="first">To create new repositories, simply run:</p>
133 <pre class="literal-block">
134 $ svnadmin create /var/svnroot/&lt;repos&gt;
135 </pre>
136 </li>
137 <li><p class="first">Make sure newly created/converted repositories have correct permissions. Of course, Infra might want to do this differently:</p>
138 <pre class="literal-block">
139 $ chown -Rf svn:users /var/svnroot/&lt;repos&gt;
140 $ chmod -Rf 775 /var/svnroot/&lt;repos&gt;
141 </pre>
142 </li>
143 <li><p class="first">Start it up:</p>
144 <pre class="literal-block">
145 $ /etc/init.d/svnserve-ssh start
146 $ rc-update add svnserve-ssh default
147 </pre>
148 </li>
149 </ol>
150 </div>
151 <div class="section" id="backwards-compatibility">
152 <h1><a class="toc-backref" href="#id14" name="backwards-compatibility">Backwards Compatibility</a></h1>
153 <p>Offering a choice between Subversion and CVS should in no way cause any
154 backwards compatibility issues. Those developers who prefer to use CVS can
155 continue to do so without any ill effects.</p>
156 </div>
157 <div class="section" id="references">
158 <h1><a class="toc-backref" href="#id15" name="references">References</a></h1>
159 <table class="footnote" frame="void" id="id6" rules="none">
160 <colgroup><col class="label" /><col /></colgroup>
161 <tbody valign="top">
162 <tr><td class="label"><a class="fn-backref" href="#id1" name="id6">[1]</a></td><td>app-vim/gentoo-syntax
163 <a class="reference" href="http://developer.berlios.de/projects/gentoo-syntax/">http://developer.berlios.de/projects/gentoo-syntax/</a></td></tr>
164 </tbody>
165 </table>
166 <table class="footnote" frame="void" id="id7" rules="none">
167 <colgroup><col class="label" /><col /></colgroup>
168 <tbody valign="top">
169 <tr><td class="label"><a class="fn-backref" href="#id2" name="id7">[2]</a></td><td>app-shells/bash-completion-config
170 <a class="reference" href="http://developer.berlios.de/projects/bashcomp-config/">http://developer.berlios.de/projects/bashcomp-config/</a></td></tr>
171 </tbody>
172 </table>
173 <table class="footnote" frame="void" id="id8" rules="none">
174 <colgroup><col class="label" /><col /></colgroup>
175 <tbody valign="top">
176 <tr><td class="label"><a class="fn-backref" href="#id3" name="id8">[3]</a></td><td>Version Control with Subversion
177 <a class="reference" href="http://svnbook.red-bean.com/en/1.0/ch01s03.html">http://svnbook.red-bean.com/en/1.0/ch01s03.html</a></td></tr>
178 </tbody>
179 </table>
180 <table class="footnote" frame="void" id="id9" rules="none">
181 <colgroup><col class="label" /><col /></colgroup>
182 <tbody valign="top">
183 <tr><td class="label"><a class="fn-backref" href="#id4" name="id9">[4]</a></td><td>Migration of Gentoo Repositories from CVS to Subversion
184 <a class="reference" href="http://dev.gentoo.org/~trapni/CVS2SVN.MIGRATION">http://dev.gentoo.org/~trapni/CVS2SVN.MIGRATION</a></td></tr>
185 </tbody>
186 </table>
187 <table class="footnote" frame="void" id="id10" rules="none">
188 <colgroup><col class="label" /><col /></colgroup>
189 <tbody valign="top">
190 <tr><td class="label"><a class="fn-backref" href="#id5" name="id10">[5]</a></td><td>cvs2svn Documentation
191 <a class="reference" href="http://cvs2svn.tigris.org/cvs2svn.html">http://cvs2svn.tigris.org/cvs2svn.html</a></td></tr>
192 </tbody>
193 </table>
194 </div>
195 <div class="section" id="copyright">
196 <h1><a class="toc-backref" href="#id16" name="copyright">Copyright</a></h1>
197 <p>This document has been placed in the public domain.</p>
198 </div>
199 </div>
200
201 <hr class="footer" />
202 <div class="footer">
203 <a class="reference" href="glep-0036.txt">View document source</a>.
204 Generated on: 2005-03-13 17:42 UTC.
205 Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
206 </div>
207 </body>
208 </html>

  ViewVC Help
Powered by ViewVC 1.1.20