/[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.8 - (hide annotations) (download) (as text)
Sun Oct 14 17:00:15 2007 UTC (7 years ago) by antarus
Branch: MAIN
CVS Tags: HEAD
Changes since 1.7: +4 -251 lines
File MIME type: text/html
the canary on 53 went well, changing the rest

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

  ViewVC Help
Powered by ViewVC 1.1.20