/[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 - (hide annotations) (download) (as text)
Sun Mar 13 16:13:10 2005 UTC (9 years, 5 months ago) by g2boojum
Branch: MAIN
File MIME type: text/html
new glep

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     <!--
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