This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

PATCH: contribute.html, cvs.html, cvswrite.html



Sundry changes to CVS info pages.  Hope this works ok, Gerald...

  * cvswrite.html: merged with checkin.html.  Added index.  

  * contribute.html: added links to other CVS pages;
    cosmetic changes.

  * cvs.html: small changes to title and text.

  * cvswrite.html: merged with checkin.html.  Added index.

Index: contribute.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/contribute.html,v
retrieving revision 1.21
diff -c -3 -p -r1.21 contribute.html
*** contribute.html	1999/11/01 13:13:23	1.21
--- contribute.html	2000/01/27 00:33:05
***************
*** 1,5 ****
--- 1,7 ----
  <html>
  <head>
+ <meta name="description" content="Contributing to the GCC project.">
+ <meta name="keywords" content="GCC, standards, copyright, patches, contributing">
  <title>Contributing to GCC</title>
  </head>
  
*************** contributions must meet.</p>
*** 31,37 ****
     href="fsf-forms/assignment-instructions.html">copyright assignment
     form</a> and send it in to the FSF.  We are unable to use code from
     you until this is on-file at the FSF, so get that paperwork in!
-    <P>
     This form covers one batch of changes.
  
     <li>
--- 33,38 ----
*************** contributions must meet.</p>
*** 74,99 ****
         Note that, unlike some other projects, we do require ChangeLogs
         also for documentation (i.e., .texi files).
    <li> <p>The patch itself.  If you are accessing the <a href="cvs.html">
!        CVS repository</a> at Cygnus, use &quot;cvs update; cvs diff -c3p&quot;;
!        else, use &quot;diff -c3p OLD NEW&quot; or &quot;diff -up OLD NEW&quot;.
!        If your version of diff does not support these options, then get the
!        latest version of GNU diff.</p>
!        <p>We accept patches as plain text (preferred for the compilers
!        themselves), MIME attachments (preferred for the web pages),
!        or as uuencoded gzipped text.</p>
    </ul>
  
    <p>When you have all these pieces, bundle them up in a mail message and
    send it to
    <a href="mailto:gcc-patches@gcc.gnu.org">gcc-patches@gcc.gnu.org</a>.
    All patches and related discussion should be sent to the gcc-patches
!   mailinglist.
  
  <hr>
! <i>Last modified on November 1, 1999.</i>
  
  <hr>
! <a href="">Return to the GNU home page</a>
  
  </body>
  </html>
--- 75,105 ----
         Note that, unlike some other projects, we do require ChangeLogs
         also for documentation (i.e., .texi files).
    <li> <p>The patch itself.  If you are accessing the <a href="cvs.html">
!        CVS repository</a> at Cygnus, use 
!        &quot;<code>cvs update; cvs diff -c3p</code>&quot;; else, use 
!        &quot;<code>diff -c3p OLD NEW</code>&quot; or 
!        &quot;<code>diff -up OLD NEW</code>&quot;.
!        If your version of diff does not support these options, then get 
!        the latest version of GNU diff.</p>
! 
    </ul>
+   <p>We accept patches as plain text (preferred for the compilers
+   themselves), MIME attachments (preferred for the web pages),
+   or as uuencoded gzipped text.</p>
  
    <p>When you have all these pieces, bundle them up in a mail message and
    send it to
    <a href="mailto:gcc-patches@gcc.gnu.org">gcc-patches@gcc.gnu.org</a>.
    All patches and related discussion should be sent to the gcc-patches
!   mailinglist.  For further information on the GCC CVS repository, see
!   the <a href="cvs.html">Anonymous read-only CVS access</a> and 
!   <a href="cvswrite.html">Read-write CVS access</a> pages.
  
  <hr>
! <i>Last modified on January 27, 2000.</i>
  
  <hr>
! <a href="/">Return to the GNU home page</a>
  
  </body>
  </html>
Index: cvs.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/cvs.html,v
retrieving revision 1.34
diff -c -3 -p -r1.34 cvs.html
*** cvs.html	1999/12/30 04:43:31	1.34
--- cvs.html	2000/01/27 00:33:06
***************
*** 2,12 ****
  <head>
  <meta name="description" content="Anonymous read-only access to the GCC project CVS source repository.">
  <meta name="keywords" content="CVS, version control, GCC, source, public, repository">
! <title>GCC: Anonymous read-only CVS access</title>
  </head>
  
  <body>
! <h1 align="center">GCC: Anonymous read-only CVS access</h1>
  
  <p>In an ongoing effort to accelerate development of GCC and provide an
  open development environment, we are making our CVS source repository
--- 2,12 ----
  <head>
  <meta name="description" content="Anonymous read-only access to the GCC project CVS source repository.">
  <meta name="keywords" content="CVS, version control, GCC, source, public, repository">
! <title>Anonymous read-only CVS access</title>
  </head>
  
  <body>
! <h1 align="center">Anonymous read-only CVS access</h1>
  
  <p>In an ongoing effort to accelerate development of GCC and provide an
  open development environment, we are making our CVS source repository
*************** available read-only to the public at lar
*** 15,22 ****
  <p>That way you can pick up any version of GCC that is in our repository
  (including released) or our <a href="#wwwdocs">web pages</a>.
  
! <p>In addition you can <a
! href="http://gcc.gnu.org/cgi-bin/cvsweb.cgi/">browse our CVS
  history online</a>.
  
  
--- 15,22 ----
  <p>That way you can pick up any version of GCC that is in our repository
  (including released) or our <a href="#wwwdocs">web pages</a>.
  
! <p>In addition you can 
! <a href="http://gcc.gnu.org/cgi-bin/cvsweb.cgi/">browse our CVS
  history online</a>.
  
  
*************** to check out the compiler sources, respe
*** 43,49 ****
  <blockquote><code>cvs -z 9 co wwwdocs</code></blockquote>
  to check out our web pages.
  
! <p>Once you've got the repository checked out <code>cvs update</code>
  will sync your local copy with the repository.  See the CVS manual for
  additional information on how to use CVS. (Besides downloads of recent
  versions of CVS Cyclic Software also has a <a
--- 43,49 ----
  <blockquote><code>cvs -z 9 co wwwdocs</code></blockquote>
  to check out our web pages.
  
! <p>Once you've got the repository checked out, <code>cvs update</code>
  will sync your local copy with the repository.  See the CVS manual for
  additional information on how to use CVS. (Besides downloads of recent
  versions of CVS Cyclic Software also has a <a
*************** the compiler itself.  Use <code>cvs co w
*** 102,108 ****
  the web pages.
  
  <hr>
! <i>Last modified on December 30, 1999</i>
  
  </body>
  </html>
--- 102,110 ----
  the web pages.
  
  <hr>
! <i>Last modified on January 27, 2000</i>
! <hr>
! <a href="/">Return to the GCC home page</a>
  
  </body>
  </html>
Index: cvswrite.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/cvswrite.html,v
retrieving revision 1.18
diff -c -3 -p -r1.18 cvswrite.html
*** cvswrite.html	1999/12/30 04:43:31	1.18
--- cvswrite.html	2000/01/27 00:33:09
***************
*** 4,19 ****
  </head>
  <body>
  
  <p>We have read/write access to the CVS repository available for all our
  significant developers.
  
  <p>If you don't already have CVS, we recommend you pick up a recent copy from
! cyclic software at <a href="http://www.cyclic.com/">http://www.cyclic.com</a>.
! <br>
  Please note that CVS versions up to 1.10.4 have "Y2K problems".  Refer to
! <a href="http://www.cyclic.com/cvs/dev-y2k.html">
  http://www.cyclic.com/cvs/dev-y2k.html</a> for details.
  
  <p>Authenticated access is provided via ssh, which you can retrieve from
  <a href="ftp://ftp.cs.hut.fi/pub/ssh/">ftp://ftp.cs.hut.fi/pub/ssh/</a>.
  ssh should build and install without any trouble and the default
--- 4,34 ----
  </head>
  <body>
  
+ <h1 align="center">Read-write CVS access</h1>
+ 
  <p>We have read/write access to the CVS repository available for all our
  significant developers.
  
  <p>If you don't already have CVS, we recommend you pick up a recent copy from
! Cyclic Software at <a href="http://www.cyclic.com/">http://www.cyclic.com</a>. 
  Please note that CVS versions up to 1.10.4 have "Y2K problems".  Refer to
! <a href="http://www.cyclic.com/cvs/dev-y2k.html"> 
  http://www.cyclic.com/cvs/dev-y2k.html</a> for details.
  
+ <hr>
+ <h3>Contents</h3>
+ <ol>
+ 	<li><a href="#authenticated">Authenticated access</a>
+   <li><a href="#setup">Setting up your local CVS tree</a>
+   <li><a href="#policies">Write access policies</a>
+   <li><a href="#checkin">Checking in a change</a>
+   <li><a href="#example">Example check-in session</a>
+ </ol>
+ 
+ <hr>
+ <a name="authenticated"></a>
+ <h2>Authenticated access</h2>
+ 
  <p>Authenticated access is provided via ssh, which you can retrieve from
  <a href="ftp://ftp.cs.hut.fi/pub/ssh/">ftp://ftp.cs.hut.fi/pub/ssh/</a>.
  ssh should build and install without any trouble and the default
*************** law@cygnus.com</a>.  Yes, we realize it'
*** 29,38 ****
  <p>Once we have this information we will set up an account on
  gcc.gnu.org and inform you by mail.  At this point you should be
  able to check out a tree with CVS and add yourself to the MAINTAINERS
! file to test write access.  See <a href="checkin.html">checkin.html</a>
  for how to proceed with checking in your changes.
  
! 
  <h2>Setting up your local CVS tree</h2>
  
  <p>Once you can login to the machine, it's trivial to start using ssh from
--- 44,54 ----
  <p>Once we have this information we will set up an account on
  gcc.gnu.org and inform you by mail.  At this point you should be
  able to check out a tree with CVS and add yourself to the MAINTAINERS
! file to test write access.  See <a href="#checkin">Checking in a change</a>
  for how to proceed with checking in your changes.
  
! <hr>
! <a name="setup"></a>
  <h2>Setting up your local CVS tree</h2>
  
  <p>Once you can login to the machine, it's trivial to start using ssh from
*************** ForwardX11 no
*** 75,82 ****
  <p>Note that when you check in changes to our web pages, these will
  automatically be checked out into the web server's data area.
  
  <hr>
! <i>Last modified on December 30, 1999.</i>
  
  <hr>
  <a href="/">Return to the GCC home page</a>
--- 91,363 ----
  <p>Note that when you check in changes to our web pages, these will
  automatically be checked out into the web server's data area.
  
+ 
+ 
+ <hr>
+ <a name="policies"></a>
+ <h2>Write access policies</h2>
+ 
+ <p>The GCC project grants some developers various levels of write access
+ to the GCC master sources.  CVS doesn't provide fine grained control over
+ access to the repository; therefore, we depend on each developer to follow
+ the appropriate policies.
+ 
+ <ul>
+   <li>Global write permission.  A very limited number of developers have
+   global write permission over the entire repostiory.  This is unfortunately
+   necessary because we don't have explicit maintainers for every little
+   piece of the compiler.
+ 
+   <li>Localized write permission.  This is for people who own ports, front
+   ends, or significant hunks of code in the compiler.  These folks are
+   allowed to make changes in code they maintain without going through any
+   kind of approval process.
+ 
+   <li>Write after approval.  This is folks that make regular contributions,
+   but who do not "own" any particular piece of code.  People with write after
+   approval need to submit their patches to the list; once the patches have
+   been approved by the appropriate maintainers the patches may be checked into
+   the GCC sources.
+ </ul>
+ 
+ <p>The list of folks with write access to the repository can be found in the
+ <tt>MAINTAINERS</tt> file in the GCC distribution.
+ 
+ <p>Also note that fixes for obvious typos in ChangeLog files, docs, web
+ pages, comments and similar stuff need not be approved.  Just check in the
+ fix.  We don't want to get overly anal about checkin policies.
+ 
+ <hr>
+ <a name="checkin"></a>
+ <h2>Checking in a change</h2>
+ 
+ <p>This is meant to provide a very quick overview of how to check in a
+ change.  It is not meant to be a replacement for the CVS manual but 
+ instead a supplement.  The CVS manual is distributed as part of the CVS
+ sources as a texinfo file.
+ <a href="http://www.cyclic.com/cvs/doc-blandy.html"> 
+ http://www.cyclic.com/cvs/doc-blandy.html</a> contains
+ a link to an reasonably simple introduction to CVS.
+ 
+ <p> In all the commands listed below, you can give an explicit list of
+ filenames to the cvs command.  We recommend you list files explicitly
+ when performing checkins to avoid accidental checkins of local code.
+ 
+ <p> Sync your sources with the master repository via "<tt>cvs update</tt>"
+ before attempting a checkin; this will save you a little time if someone
+ else has modified that file since the last time you sync'd your sources.
+ It will also identify any files in your local tree that you have modified.
+ 
+ <p>Apply the patch to your local tree and update the <tt>ChangeLog</tt>
+ file.  Use the current date/time for the <tt>ChangeLog</tt> entry, not
+ the time that the patch was submitted.
+ 
+ <p>Make sure to rebuild any generated files that would be effected by
+ the patch.  Make sure to check them in along with the files explicitly
+ modified by the patch.
+ 
+ <p>We recommend using "<tt>cvs diff</tt>" after applying a patch to
+ a local tree.  Review the output to make sure that only the changes
+ you wanted to check in will be checked in.  Also check to see if the
+ copyright dates need to be updated.
+ 
+ <p>Use "<tt>cvs commit</tt>" to check in the patch.  You can enter the
+ log message via the "<tt>-m</tt>" argument to commit, or wait for the
+ editor window to appear and enter the log message in the editor window.
+ 
+ <p>After exiting the editor, CVS will connect to the GCC cvs server and
+ check in your changes.  When your prompt returns the checkin is finished.
+ A message will be sent to the "<tt>gcc-cvs</tt>" mailing list (when
+ set up) indicating that a change was made.  CVS will provide a message
+ if an error occurs and it will not check in any files.
+ 
+ <hr>
+ <a name="example"></a>
+ <h2> Example check-in session </h2>
+ 
+ <p>Here's an actual check-in session for a patch John Carr recently sent
+ to the GCC list.  This was the <tt>ChangeLog</tt> for his change:
+ 
+ <blockquote>
+ <pre>
+ Sun Feb  8 08:02:13 1998  John Carr  &lt;jfc@mit.edu>
+ 
+    * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
+    not a HOST_WIDE_INT.
+ 
+    * calls.c (expand_call): Change test of expand_inline_function
+    return value to stop compiler warning.
+ 
+    * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
+ </pre>
+ </blockquote>
+ 
+ <h3>First, I sync my local respository.</h3>
+ 
+ <blockquote>
+ <pre>
+ [/law/egcs/egcs] cvs update
+ ? libobjc
+ ? gcc/.ada
+ ? gcc/jump.c.SAVE
+ ? gcc/loop.c.SAVE
+ M MAINTAINERS
+ M Makefile.in
+ M gcc/loop.c
+ M gcc/cp/parse.c
+ M gcc/objc/Make-lang.in
+ M gcc/objc/Makefile.in
+ </pre>
+ </blockquote>
+ 
+ <p>The question marks indicate files in my local repository that are not
+ part of the official sources.  The "M" indicates files I've changed locally
+ for some unrelated work -- thus I have to be careful to avoid checking
+ them in.  A "U" would have indicated a file that CVS updated because my
+ local copy was out of date relative to the master sources.
+ 
+ <p>The local repository is now up to date.
+ 
+ <h3>Apply the patch to the local source</h3>
+ 
+ <blockquote>
+ <pre>
+ [/law/egcs/egcs/gcc] patch &lt; ~/Mail/gcc/pendingpatches/42 
+ Hmm...  Looks like a new-style context diff to me...
+ The text leading up to this was:
+ <i>[ uninteresting text deleted ]</i>
+ |*** bitmap.c.egcs      Sat Dec 20 06:31:11 1997
+ |--- bitmap.c   Sun Feb  8 08:01:32 1998
+ --------------------------
+ Patching file bitmap.c using Plan A...
+ Hunk #1 succeeded at 563.
+ Hunk #2 succeeded at 573.
+ Hmm...  The next patch looks like a new-style context diff to me...
+ The text leading up to this was:
+ --------------------------
+ |*** calls.c.egcs       Sun Feb  8 07:44:02 1998
+ |--- calls.c    Sun Feb  8 08:00:08 1998
+ --------------------------
+ Patching file calls.c using Plan A...
+ Hunk #1 succeeded at 730.
+ Hmm...  The next patch looks like a new-style context diff to me...
+ The text leading up to this was:
+ --------------------------
+ |*** genattrtab.c.egcs  Sun Feb  8 07:44:04 1998
+ |--- genattrtab.c       Sun Feb  8 08:05:36 1998
+ --------------------------
+ Patching file genattrtab.c using Plan A...
+ Hunk #1 succeeded at 506.
+ done
+ </pre>
+ </blockquote>
+ 
+ <h3>Add ChangeLog entry by hand</h3>
+ 
+ <p><tt>ChangeLog</tt> entries should be handled as straight text;
+ patches against <tt>ChangeLog</tt>s rarely apply correctly.
+ 
+ <blockquote>
+ <pre>
+ [/law/egcs/egcs/gcc] vi ChangeLog
+ </pre>
+ </blockquote>
+ 
+ <h3>Review changes for correctness</h3>
+ 
+ <p>The patch and its associated <tt>ChangeLog</tt> entry are in my
+ local tree; now I run <tt>cvs diff</tt> on the modified files and review
+ the output.
+ 
+ <blockquote>
+ <pre>
+ [/law/egcs/egcs/gcc] cvs diff -c3p bitmap.c calls.c genattrtab.c > /tmp/FOO
+ </pre>
+ </blockquote>
+ 
+ <p>Look at <tt>/tmp/FOO</tt> and verify that only the changes we want
+ are in the diff file.
+ 
+ <h3>Update Copyrights</h3>
+ 
+ <p>Review the changed files to see if any copyrights need updating,
+ in this particular case all three needed their copyrights updated.
+ 
+ <blockquote>
+ <pre>
+ [/law/egcs/egcs/gcc] vi bitmap.c calls.c genattrtab.c
+ </pre>
+ </blockquote>
+ 
+ <h3>Commit the changes to the central repository</h3>
+ 
+ <blockquote>
+ <pre>
+ [/law/egcs/egcs/gcc] cvs commit ChangeLog bitmap.c calls.c genattrtab.c
+ </pre>
+ </blockquote>
+ 
+ <p>My editor starts and I enter the log message; the lines starting with
+ <TT>CVS:</TT> are automatically added by CVS and will be automatically
+ removed:
+ 
+ <blockquote>
+ <pre>
+         * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
+         not a HOST_WIDE_INT.
+ 
+         * calls.c (expand_call): Change test of expand_inline_function
+         return value to stop compiler warning.
+ 
+         * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
+ 
+ CVS: ----------------------------------------------------------------------
+ CVS: Enter Log.  Lines beginning with `CVS:' are removed automatically
+ CVS:
+ CVS: Committing in .
+ CVS:
+ CVS: Modified Files:
+ CVS:    ChangeLog bitmap.c calls.c genattrtab.c
+ CVS: ----------------------------------------------------------------------
+ </pre>
+ </blockquote>
+ 
+ <p>Now write &amp; quit from the editor, and CVS will start the actual
+ checkin process....
+ 
+ <blockquote>
+ <pre>
+ Checking in ChangeLog;
+ /cvs/egcs/egcs/./gcc/ChangeLog,v  &lt;--  ChangeLog
+ new revision: 1.746; previous revision: 1.745
+ done
+ Checking in bitmap.c;
+ /cvs/egcs/egcs/./gcc/bitmap.c,v  &lt;--  bitmap.c
+ new revision: 1.6; previous revision: 1.5
+ done
+ Checking in calls.c;
+ /cvs/egcs/egcs/./gcc/calls.c,v  &lt;--  calls.c
+ new revision: 1.12; previous revision: 1.11
+ done
+ Checking in genattrtab.c;
+ /cvs/egcs/egcs/./gcc/genattrtab.c,v  &lt;--  genattrtab.c
+ new revision: 1.15; previous revision: 1.14
+ done
+ [/law/egcs/egcs/gcc] 
+ </pre>
+ </blockquote>
+ 
+ <p>Note that only a single CVS log message was used for all the files;
+ this is the normal and expected behavior.  It is not necessary to perform
+ multiple commits and split up the CVS log entry on a file by file basis.
+ Note this implies that each checkin is for a single logical change
+ that may effect multiple files.  If you have several unrelated changes,
+ you should check them in with separate cvs commit commands.
+ 
+ <p>And that's it!
+ 
  <hr>
! <i>Last modified on January 27, 2000.</i>
  
  <hr>
  <a href="/">Return to the GCC home page</a>




-- 
Rich
churchmouse@optusnet.com.au

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]