http://sourceforge.net
http://sourceforge.net/projects/python
scp mylocalfile.html sf_username@shell.sourceforge.net:/home/groups/p/py/python/htdocs/If you want to edit or remove files, you can use ssh:
ssh -l sf_username shell.sourceforge.net
cd /home/groups/p/py/python/htdocs
rm garbage.html
vi changeme.html
akuchling | A.M. Kuchling |
bwarsaw | Barry Warsaw |
cgw | Charles G. Waldman |
david_ascher | David Ascher |
dcjim | Jim Fulton |
effbot | Fredrik Lundh |
esr | Eric S. Raymond |
fdrake | Fred L. Drake, Jr. |
gstein | Greg Stein |
gvanrossum | Guido van Rossum |
gvwilson | Greg Wilson |
gward | Greg Ward |
jackjansen | Jack Jansen |
jhylton | Jeremy Hylton |
klm | Ken Manheimer |
larsga | Lars Marius Garshol |
lemburg | M.-A. Lemburg |
loewis | Martin v. Löwis |
mhammond | Mark Hammond |
montanaro | Skip Montanaro |
moshez | Moshe Zadka |
nascheme | Neil Schemenauer |
nowonder | Peter Schneider-Kamp |
ping | Ka-Ping Yee |
prescod | Paul Prescod |
purcell | Steve Purcell |
sjoerd | Sjoerd Mullender |
theller | Thomas Heller |
tim_one | Tim Peters |
tismer | Christian Tismer |
tmick | Trent Mick |
twouters | Thomas Wouters |
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/
export CVSROOT=:pserver:anonymous@cvs.python.sourceforge.net:/cvsroot/pythonIf you are indeed a developer you can check out a read/write version with ssh:
cvs login
cvs -z3 co python
export CVS_RSH=ssh
export CVSROOT=sf_username@cvs.python.sourceforge.net:/cvsroot/python
cvs -z3 co python
diff -cThis defaults diff to context diffs (almost a requirement as everything else is harder to read) and tells update to automatically checkout new subdirectories.
update -d
Sorry, you don't have read/write access to the history file /cvsroot/python/CVSROOT/history
Permission denied
ssh -l sf_username shell.sourceforge.netIf you have just recently (< 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.
groups
http://sfdocs.sourceforge.net/sfdocsFor general (and more advanced) information consult the free CVS Book at
http://cvsbook.red-bean.com/cvsbook.html#Introduction
cd the_directory
rm file1 file2 file3
cvs remove file1 file2 file3
cvs ci -m "removed all files" file1 file2 file3
cd ..
cvs update -P
cvs update -j 1.17 -j 1.16 ceval.cThis example would create and apply a reverse patch from revision 1.17 to revision 1.16 of ceval.c.
cvs update
cvs commit ceval.c
cvs add -kb newfile.bin
cvs commit newfile.bin
cvs tag -F -b -r revision branch_tag filefor each file, where revision is the revision where the tag should be and file is the file. Note that -F means force (otherwise you get a complaint because the tag is already defined) and -b means branch which makes the tag a branch tag.
cvs diff -c | tee ~/name_of_the_patch.diffElse you can use the diff util which comes with most operating systems (a Windows version is available as part of the cygwin tools).
http://www.python.org/patchesA recent copy can be found in the Appendix of this FAQ.
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.
Note: If you are sure that you have the right permissions and a drop-box does not appear, check that you are actually logged in to SourceForge!
For more information about the use of the "Status:" and "Assigned To:"
fields consult the Patch Manager Guidelines. A recent copy
can be found in the Appendix of this FAQ.
To submit a bug, use the "Submit a Bug" link, near the top of the page.
In general, the Resolution and Status fields 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.
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.
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.
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 & harder to
deal with the longer they sit.
The initial state of all patches.
The patch is under consideration, but has not been reviewed yet, or is under review but not yet Accepted or Rejected.
The Resolution will normally change to Accepted or Rejected next.
The person submitting the patch should (if they can) assign it to the person they most want to review it.
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!]
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]
For the reviewer: If you're certain the patch should be applied, change the Resolution to Accepted and assign it back to the submitter (if possible) for checkin. If you're certain the patch should never be accepted, change the Resolution to Rejected, Status to Closed, and assign it to None. If you have specific complaints that would cause you to change your mind, explain them clearly in a comment, leave the status Open, and reassign back to the submitter. If you're uncertain, leave the status Open, explain your uncertainies in a comment, and reassign the patch to someone you believe can address your remaining questions; or leave the status Open and bring it up on Python-Dev.
The powers that be accepted the patch, but it hasn't been applied yet. [xxx flesh out -- Guido Bottleneck avoidable here?]
The Status will normally change to Closed next.
The person changing the Resolution to Accepted should, at the same time, assign the patch to whoever they believe is most likely to be able & willing to apply it (the submitter if possible).
The patch has been accepted and applied.
The previous Resolution was Accepted, or possibly None if the submitter was Guido (or moral equivalent in some particular area of expertise).
The patch has been reviewed and rejected.
There are generally no transitions out of this state: the patch is dead.
The person setting this state should also assign the patch to None.
Previous Resolution was Accepted or Postponed, but the patch no longer works.
Please enter a comment when changing the Resolution to "Out of date", to record the nature of the problem and the previous state.
Also assign it back to the submitter, as they need to upload a new version.
The previous Resolution was None or Accepted, but for some reason (e.g., pending release) the patch should not be reviewed or applied until further notice.
The Resolution will normally change to None or Accepted next.
Please enter a comment when changing the Resolution to Postponed, to record the reason, the previous Resolution, and the conditions under which the patch should revert to Resolution None or Accepted. Also assign the patch to whoever is most likely able and willing to decide when the state should change again.
Bit bucket.
Use only if it's OK for the patch and its SourceForge history to disappear.
As of 09-July-2000, SF does not actually throw away Deleted patches, but that may change.
Many people contribute patches to Python. We've set up a new system to deal with these. Here are the main guidelines: