[Python-checkins] CVS: python/nondist/sf-html README,NONE,1.1 index.html,NONE,1.1 sf-faq.html,NONE,1.1

Peter Schneider-Kamp python-dev@python.org
Fri, 14 Jul 2000 02:00:08 -0700


Update of /cvsroot/python/python/nondist/sf-html
In directory slayer.i.sourceforge.net:/tmp/cvs-serv25141

Added Files:
	README index.html sf-faq.html 
Log Message:

put html files for http://python.sourceforge.net in nondist/sf-html

added README file



--- NEW FILE ---
sf-html subdirectory
====================

This directory contains the xhtml files for the pages at
http://python.sourceforge.net

Files found here
----------------

index.html	Link Page
README		The file you're reading now
sf-faq.html	Python at SourceForge FAQ

--- NEW FILE ---
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Python Sites</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body text="#000000" bgcolor="#FFFFFF" link="#0000EF" vlink="#51188E"
alink="#FF0000">
<h1><a href="http://www.python.org">PYTHON MAIN WEBSITE</a></h1>

<table border="0" width="100%" bgcolor="#99CCFF"
summary="Python Language Site">
  <tbody>
    <tr>
      <td><h2>On this site you will find all the information about the Python
        language. This includes:</h2>
        <ul>
          <li>Detailed Documentation (Language Specification, Library
            Reference, Tutorials, Information about Extending and
          Embedding)</li>
          <li>Downloads (stable releases for your favorite platform, alpha and
            beta releases of new versions)</li>
          <li>Special Interest Groups (from Database and Image Processing to
            XML Processing)</li>
          <li>News, Announcements and lots of links to other Python
          resources</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

<h1><a
href="http://sourceforge.net/projects/python">PYTHON PROJECT PAGE</a></h1>

<table border="0" width="100%" bgcolor="#99CCFF"
summary="Python Development Site">
  <tbody>
    <tr>
      <td><h2>Here you will find the busy developers and their resources.</h2>
        <ul>
          <li>access to the current development version via a
          CVS repository</li>
          <li>the patch manager where new features and bugfixes can be
            submitted</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>

<h1><a href="sf-faq.html">PYTHON AT SOURCEFORGE FAQ</a></h1>

<table border="0" width="100%" bgcolor="#99CCFF"
summary="Python at SourceForge FAQ">
  <tbody>
    <tr>
      <td><h2>If you have questions about Python at SourceForge, you're
        probably right here. Topics include:</h2>
        <ul>
          <li>How to use CVS.</li>
          <li>How to make/submit/administrate patches.</li>
        </ul>
      </td>
    </tr>
  </tbody>
</table>
</body>
</html>

--- NEW FILE ---
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>Python at SourceForge - Frequently Asked Questions</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>

<body text="#000000" bgcolor="#99CCFF" link="#0000EF" vlink="#51188E"
alink="#FF0000">

<center>
<h1>Python at SourceForge - Frequently Asked Questions</h1>
</center>

<h1>0. Contents</h1>

<h2><a href="#general">1. General</a></h2>
<ol>
  <li><a href="#g1">What is SourceForge?</a></li>
  <li><a href="#g2">Where do I find Python there?</a></li>
  <li><a href="#g3">How can I change the pages at
  python.sourceforge.net?</a></li>
</ol>

<h2><a href="#cvs">2. CVS</a></h2>
<ol>
  <li><a href="#c1">How do I check out a CVS version of Python?</a></li>
  <li><a href="#c2">What settings should I use?</a></li>
  <li><a href="#c3">Troubleshooting: "Permission Denied"</a></li>
  <li><a href="#c4">Where can I learn more about CVS?</a></li>
</ol>

<h2><a href="#patches">3. Patches</a></h2>
<ol>
  <li><a href="#p1">How to make a patch?</a></li>
  <li><a href="#p2">How to submit patches?</a></li>
  <li><a href="#p3">How to change the status of a patch?</a></li>
</ol>

<h2><a href="#appendix">A. Appendix</a></h2>
<ol>
  <li><a href="#a1">Patch Manager Guidelines [09.07.2000]</a></li>
  <li><a href="#a2">Python Patch Submission Guidelines [29.06.2000]</a></li>
</ol>

<h1><a name="general" id="general"></a>1. General</h1>

<h3><a name="g1" id="g1"></a>1.1.:</h3>

<h4>Q: What is SourceForge?</h4>

<h4>A:</h4>
<a href="http://sourceforge.net">SourceForge</a> is a free hosting service for
<a href="http://opensource.org">OpenSource</a> projects. The main website is
found at

<blockquote>
  <tt><a
href="http://sourceforge.net">http://sourceforge.net</a></tt></blockquote>

<h3><a name="g2" id="g2"></a>1.2.:</h3>

<h4>Q: Where can I find Python on SourceForge?</h4>

<h4>A:</h4>
The <a href="http://sourceforge.net/projects/python">Python project page</a>
can be found at

<blockquote>
  <tt><a
  href="http://sourceforge.net/projects/python">http://sourceforge.net/projects/python</a></tt></blockquote>

<h3><a name="g3" id="g3"></a>1.3.:</h3>

<h4>Q: How can I change the pages at python.sourceforge.net?</h4>

<h4>A:</h4>
First you have to be in the SourceForge group "<tt>python</tt>" (true for all
developers). Then you can upload files using scp:

<blockquote>
  <tt>scp mylocalfile.html
  sf_username@shell.sourceforge.net:/home/groups/python/htdocs/</tt></blockquote>
If you want to edit or remove files, you can use ssh:

<blockquote>
  <tt>ssh -l sf_username shell.sourceforge.net</tt><br />
  <tt>cd /home/groups/python/htdocs</tt><br />
  <tt>rm garbage.html</tt><br />
  <tt>vi changeme.html</tt></blockquote>

<h1><a name="cvs" id="cvs"></a>2. CVS</h1>

<h3><a name="c1" id="c1"></a>2.1.:</h3>

<h4>Q: How do I check out a CVS version of Python?</h4>

<h4>A:</h4>
If you are not a SourceForge-recognized Python developer you can still check
out an anonymous CVS version (read-only) of Python:

<blockquote>
  <tt>export
  CVSROOT=:pserver:anonymous@cvs.python.sourceforge.net:/cvsroot/python</tt><br
  />
  <tt>cvs login</tt><br />
  <tt>cvs -z3 co python</tt></blockquote>
If you are indeed a developer you can check out a read/write version with ssh:

<blockquote>
  <tt>export CVS_RSH=ssh</tt><br />
  <tt>export
  CVSROOT=sf_username@cvs.python.sourceforge.net:/cvsroot/python</tt><br />
  <tt>cvs -z3 co python</tt></blockquote>

<h3><a name="c2" id="c2"></a>2.2.:</h3>

<h4>Q: What setting should I use?</h4>

<h4>A:</h4>
That is, of course, hard to answer in the general case. I use the following
.cvsrc file:

<blockquote>
  <tt>diff -c</tt><br />
  <tt>update -d</tt></blockquote>
This defaults diff to context diffs (almost a requirement as everything else
is harder to read) and tells update to automatically checkout new
subdirectories.

<h3><a name="c3" id="c3"></a>2.3.:</h3>

<h4>Q: I get the following error message:</h4>

<blockquote>
  <tt>Sorry, you don't have read/write access to the history file
  /cvsroot/python/CVSROOT/history</tt><br />
  <tt>Permission denied</tt></blockquote>

<h4>A:</h4>
If you are not a developer, you don't have read/write access. You have to
check out an anonymous copy. If you are a developer you have to be in the
SourceForge group "<tt>python</tt>". You can check this with the following
commands:

<blockquote>
  <tt>ssh -l sf_username shell.sourceforge.net</tt><br />
  <tt>groups</tt></blockquote>
If you have just recently (&lt; 6 hours) been added to the Python project, you
probably have to wait for the SourceForge servers to synch up. This can take
up to 6 hours.

<h3><a name="c4" id="c4"></a>2.4.:</h3>

<h4>Q: Where can I learn more about CVS?</h4>

<h4>A:</h4>
For SourceForge specific information consult their CVS documentation at

<blockquote>
  <tt><a
  href="http://sfdocs.sourceforge.net/sfdocs">http://sfdocs.sourceforge.net/sfdocs</a></tt></blockquote>
For general (and more advanced) information consult the free CVS Book at

<blockquote>
  <tt><a
  href="http://cvsbook.red-bean.com/cvsbook.html#Introduction">http://cvsbook.red-bean.com/cvsbook.html#Introduction</a></tt></blockquote>

<h1><a name="patches" id="patches"></a>3. Patches</h1>

<h3><a name="p1" id="p1"></a>3.1.:</h3>

<h4>Q: How to make a patch?</h4>

<h4>A:</h4>
If you are using CVS (anonymous or developer) you can use CVS to make the
patches for you. Just edit your local copy and enter the following command:

<blockquote>
  <tt>cvs diff | tee ~/name_of_the_patch.diff</tt></blockquote>
Else you can use the diff util which comes with most operating systems (a
Windows version is available as part of the cygwin tools). <br />


<h3><a name="p2" id="p2"></a>3.2.:</h3>

<h4>Q: How to submit a patch?</h4>

<h4>A:</h4>
Please read the <a href="http://www.python.org/patches">Patch Submission
Guidelines</a> at

<blockquote>
  <tt><a
  href="http://www.python.org/patches">http://www.python.org/patches</a></tt></blockquote>
A <a href="#a2">recent copy</a> can be found in the Appendix of this FAQ. <br
/>


<h3><a name="p3" id="p3"></a>3.3.:</h3>

<h4>Q: How to change the status of a patch?</h4>

<h4>A:</h4>
To change the status of a patch or assign it to somebody else you have to be
a) a SourceForge-recognized Python developer and b) a patch administrator.
Unfortunately the SourceForge default for developers is not to be patch
administrators. Contact one of the project administrators if the following
does not work for you.

<p>Click on the patch itself. In the screen that comes up, there is a drop-box
for "Assigned To:" and a drop-box for "Status:" where you can select a new
responsible developer or a new status respectively. After selecting the
appropriate victim and status, hit the "Submit Changes" button at the bottom
of the page.</p>

<p>For more information about the use of the "Status:" and "Assigned To:"
fields consult the <a href="#a1">Patch Manager Guidelines</a>. A recent copy
can be found in the Appendix of this FAQ.<br />
</p>

<h1><a name="appendix" id="appendix"></a>A. Appendix</h1>

<h3><a name="a1" id="a1"></a>A.1.: Patch Manager Guidelines</h3>

<h4>Intended use of SourceForge patch status &amp; "assigned to" fields</h4>
Revision 2 <br />
09-Jul-2000

<p>In general, the status field should be close to self-explanatory, and the
"Assigned to:" field should be the person responsible for taking the next step
in the patch process. Both fields are expected to change value over the life
of a patch; the normal workflow is detailed below.</p>

<p>When you've got the time and the ability, feel free to move any patch that
catches your eye along, whether or not it's been assigned to you. And if
you're assigned to a patch but aren't going to take reasonably quick action
(for whatever reason), please assign it to someone else ASAP: at those times
you can't actively help, actively get out of the way.</p>

<p>If you're an expert in some area and know that a patch in that area is both
needed and non-controversial, just commit your changes directly -- no need
then to get the patch mechanism involved in it.</p>

<p>You should add a comment to every patch assigned to you at least once a
week, if only to say that you realize it's still on your plate. This rule is
meant to force your attention periodically: patches get harder &amp; harder to
deal with the longer they sit.<br />
</p>

<h4>Open</h4>

<blockquote>
  The initial status of all patches.<br />
  The patch is under consideration, but has not been reviewed yet.<br />
  The status will normally change to Accepted or Rejected next.<br />
  The person submitting the patch should (if they can) assign it to the person
  they most want to review it.<br />
  Else the patch will be assigned via [xxx a list of expertise areas should be
  developed] [xxx but since this hasn't happened and volunteers are too few,
  random assignment is better than nothing: if you're a Python developer,
  expect to get assigned out of the blue!]<br />
  Discussion of major patches is carried out on the Python-Dev mailing list.
  For simple patches, the SourceForge comment mechanism should be sufficient.
  [xxx an email gateway would be great, ditto Ping's Roundup]</blockquote>

<h4>Accepted</h4>

<blockquote>
  The powers that be accepted the patch, but it hasn't been applied yet. [xxx
  flesh out -- Guido Bottleneck avoidable here?]<br />
  The status will normally change to Closed next.<br />
  The person changing the status to Accepted should, at the same time, assign
  the patch to whoever they believe is most likely to be able &amp; willing to
  apply it (the submitter if possible).</blockquote>

<h4>Closed</h4>

<blockquote>
  The patch has been accepted and applied.<br />
  The previous status was Accepted, or possibly Open if the submitter was
  Guido (or moral equivalent in some particular area of
expertise).</blockquote>

<h4>Rejected</h4>

<blockquote>
  The patch has been reviewed and rejected.<br />
  When the objections are addressed, the status may change to Open again.<br
  />
  The person changing the status to Rejected should assign the patch back to
  the submitter, or if it's clear the patch will never be accepted, assign it
  to None.<br />
  Note that SourceForge allows the submitter to overwrite the patch with a new
  version.</blockquote>

<h4>Out of date</h4>

<blockquote>
  Previous status was Open or Accepted or Postponed, but the patch no longer
  works.<br />
  Please enter a comment when changing the status to "Out of date", to record
  the nature of the problem and the previous status.<br />
  Also assign it back to the submitter, as they need to upload a new version
  (note that SourceForge will not allow anyone other than the original
  submitter to update the patch).</blockquote>

<h4>Postponed</h4>

<blockquote>
  The previous status was Open or Accepted, but for some reason (e.g., pending
  release) the patch should not be reviewed or applied until further
  notice.<br />
  The status will normally change to Open or Accepted next.<br />
  Please enter a comment when changing the status to Postponed, to record the
  reason, the previous status, and the conditions under which the patch should
  revert to Open or Accepted. Also assign the patch to whoever is most likely
  able and willing to decide when the status should change again.</blockquote>

<h4>Deleted</h4>

<blockquote>
  Bit bucket.<br />
  Use only if it's OK for the patch and its SourceForge history to
  disappear.<br />
  As of 09-July-2000, SF does not actually throw away Deleted patches, but
  that may change.</blockquote>

<h3><a name="a2" id="a2"></a>A.2.: Python Patch Submission Guidelines</h3>
<b>New: CNRI is no longer involved in Python patches.</b> We no longer request
legal disclaimers. Also, We're now using the SourceForge Patch Manager (a
single mailing list became unmanageable).

<p>Many people contribute patches to Python. We've set up a new system to deal
with these. Here are the main guidelines:</p>
<ul>
  <li><b>Submit your patch to the <a
    href="http://sourceforge.net/patch/?group_id=5470">patch manager</a>
    interface at <a
    href="http://sourceforge.net/project/?group_id=5470">SourceForge</a>.</b>
    We strongly recommend that you <a
    href="http://sourceforge.net/account/register.php">register with
    SourceForge</a> before submitting a patch. If you send patches directly to
    Guido you introduce an extra delay. Ditto for the "patches@python.org"
    mailing list address; this address should no longer be used for patch
    submission. The patch manager is for <b>patches</b> only; if you have a
    problem or suggestion but don't know how to write the code for it, use the
    <a href="http://www.python.org/search/search_bugs.html">Python Bugs
    List</a> instead. The bugs list is searchable; if you have a problem and
    you're not sure if it has been reported or fixed already, this is the
    first place to look. (There used to be a separate TODO list; we now prefer
    that you use the bugs list for suggestions and requests too.)</li>
  <li style="list-style: none"><b>Submit documentation patches the same
    way.</b> When adding the patch, be sure to set the "<b>Category</b>" field
    to "<b>documentation</b>". For documentation errors without patches,
    please use the <a
    href="http://www.python.org/search/search_bugs.html">Python Bugs List</a>
    instead.</li>
  <li>We like context diffs. We grudgingly accept unified diffs. <b>Straight
    ("ed-style") diffs are right out!</b> If you don't know how to generate
    context diffs, you're probably not qualified to produce high-quality
    patches anyway &lt;0.5 wink&gt;.</li>
  <li>We appreciate it if you send patches relative to the <a
    href="http://sourceforge.net/cvs/?group_id=5470">current CVS tree</a>.
    These are our latest sources. It's almost a year since Python 1.5.2 was
    released, and many source files have been touched in more or less
    significant ways; a patch relative to Python 1.5.2 can cause a lot of
    extra pain to apply right. Even a patch relative to the latest alpha or
    beta release may be way out of date.</li>
  <li>Please add a succinct message to your SourceForge entry that explains
    what the patch is about that we can use directly as a checkin message.
    Ideally, such a message explains the problem and describes the fix in a
    few lines.</li>
  <li>For patches that add or change functionality: please also update the
    <b>documentation</b> and the <b>testcases</b> (the Lib/test subdirectory).
    For new modules, we appreciate a new test module (typically
    test/test_spam.py). In this case, there's no need to mail the
    documentation to a different address (in fact, in order to verify that the
    bundle is complete, it's easier to mail everything together).</li>
  <li>There are a variety of additional <a
    href="http://www.python.org/patches/style.html">style requirements</a>.
    Please have a look at these before writing new code. Also have a look at
    the general <a
    href="http://www.python.org/doc/essays/styleguide.html">Python Style
    Guide</a>.</li>
</ul>
</body>
</html>