Source

xemacsweb / Develop / cvsaccess.content

Full commit
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
%title%
XEmacs CVS Archive
%author%
Jareth Hein <jareth@xemacs.org>
Steve Youngs <youngs@xemacs.org>
Adrian Aichner <adrian@xemacs.org>
Stephen J. Turnbull <stephen@xemacs.org>
%main%

  <h1>XEmacs CVS Repository</h1>

  <p>
    For those of you who have been accessing our repository for some
    time, <strong>there has been a big change</strong> as of
    2001-12-09:</p>

  <p>
    The primary repository is hosted at SunSITE.dk and is aliased to
    cvs.xemacs.org.</p>

  <p>
    Please review the information below even if you are familiar with
    the XEmacs CVS repository.</p>

  <ul>

    <li><a href="#quickstart">Quick start guide</a></li>

    <li><a href="#whatcvs">What is CVS</a></li>

    <li><a href="#tutorial">Using the XEmacs CVS server</a></li>

    <li><a href="#tags">Tags: what they are and their use</a></li>

    <li><a href="#packages">Packages info</a></li>

    <li><a href="#webaccess">Web access to the trees</a></li>

    <li><a href="#committers">Commit (R/W) access to the CVS trees</a></li>

    <li><a href="#recent">Recent news</a></li>

  </ul>

  <p>
    This site has a collection of <a
                                     href="http://www.cvshome.org/">CVS</a> (Concurrent Versions
    System) trees for XEmacs, a feature-packed text-editing
    environment based on Lisp.  XEmacs' best features are its
    extensibility, self-documentation, and its support for
    multilingual text processing, and is actively being developed by
    volunteers from all over the world.  This site is intended for use
    by people wanting to hack on or test the sources.  For more
    information, or for source/binary tarballs, check out the <a
                                                                 href="http://www.xemacs.org">XEmacs main WWW server</a>.</p>

  <h3><a name="quickstart">Quick Start Guide</a></h3>

  <p>
    First, you need to do, just once:</p>

  <pre xml:space="preserve">
$ <strong>cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs login</strong>
(Logging in to cvs@sunsite.dk)
CVS password: <strong>cvs</strong>
  </pre>
  To get the latest (21.5) development sources, do:
  <pre xml:space="preserve">
<strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs checkout -d xemacs-21.5 xemacs</strong>
  </pre>
  To get the latest publically released (21.4) development sources, do:
  <pre xml:space="preserve">
<strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs checkout -d xemacs-21.4 -r release-21-4 xemacs</strong>
  </pre>
  To get the stable (21.1) development sources, do:
  <pre xml:space="preserve">
<strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs checkout -d xemacs-21.1 -r release-21-1 xemacs</strong>
  </pre>
  The XEmacs lisp packages are now unbundled, and are available in
  their own CVS module.  There is only one version of the XEmacs
  packages - no stable or unstable branch.  Get them like this:
  <pre xml:space="preserve">
<strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs checkout packages</strong>
  </pre>

  <p>
    Each of these components are available separately as non-CVS
    tarballs via ftp.  Here are the current URL's:</p>
  <ul>
    <li><a href="ftp://ftp.xemacs.org/pub/xemacs/beta/xemacs-21.5"><strong>ftp://ftp.xemacs.org/pub/xemacs/beta/xemacs-21.5</strong></a></li>
    <li><a href="ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.4"><strong>ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.4</strong></a></li>
    <li><a href="ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.1"><strong>ftp://ftp.xemacs.org/pub/xemacs/xemacs-21.1</strong></a></li>
    <li><a href="ftp://ftp.xemacs.org/pub/xemacs/packages"><strong>ftp://ftp.xemacs.org/pub/xemacs/packages</strong></a></li>
  </ul>

  <hr/>
  <h3><a name="whatcvs">What is CVS?</a></h3>

  <p>
    CVS is a hierarchical revision control system that not only keeps
    track of older versions (natch) but also allows spiffy things like
    separate branches for concurrent development and coordination
    services for large numbers of developers.  CVS is currently the
    defacto industry standard source code control system for open
    source software projects.  Knowledge of CVS and ssh are becoming
    required skills in the free software community.  Regular
    contributors to XEmacs are strongly encouraged to get CVS write
    access to the source repository.  This distributes most of the
    patch-tracking work to those most qualified to do it, namely the
    patch authors.  XEmacs source code maintenance is basically
    organized on the bazaar model - we'd like to have as many people
    as possible, including <strong>you</strong>, making high quality
    contributions to the source code, in parallel.  But even if you
    are just a lurker with no desire to make any modifications to the
    tree, CVS gives you a painless way to upgrade between
    versions.</p>

  <p>
    Be warned that these trees are large!  XEmacs 21 sources will take
    up almost 40 MB of hard drive space, before compilation.  Add in
    the lisp packages tree (another 80 MB!) in your calculations if
    you're interested in messing with them too.  All in all, the total
    tree size for the XEmacs core tree is 196MB, comprising over 2006
    files with 397754-some odd lines of code.  Packages add another
    4042 files for 760315 lines of lisp.</p>

  <hr/>
  <h3><a name="tutorial">Using the XEmacs CVS server</a></h3>

  <p>
    If you're interested in using the XEmacs CVS trees directly using
    remote CVS, you'll need a version of CVS >= 1.9, with best results
    (currently) probably coming from 1.11.  This server uses the
    <strong>:pserver:</strong> protocol, with read-only access available for
    user <strong>cvs</strong>, password <strong>cvs</strong> (gee, where did that come
    from?).  The process goes something like this:</p>

  <p>
    First you need to log into <tt>SunSITE.dk</tt>.  (<em>N.B.</em> We will
    alias this to <tt>cvs.xemacs.org</tt> again in the near future.  You will
    then need to login again to check out modules with that hostname.
    However, old workspaces will continue to work automatically, with
    the explicit <tt>sunsite.dk</tt> hostname.)  You only
    need to do this once, as it will create a file in your home
    directory called <strong>.cvspass</strong> with the necessary data.</p>

  <pre xml:space="preserve">
pentagana [532]$ <strong>cvs -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs login</strong>
(Logging in to cvs@sunsite.dk)
CVS password: <i>(not echoed)</i><strong>cvs</strong>
  </pre>

  <p>
    Now go the the place you want to put the tree, and actually check
    out the current version.</p>

  <pre xml:space="preserve">
pentagana [533]$ <strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs checkout -d xemacs-21.5 xemacs</strong>
<i>(churn, churn, churn)</i>
  </pre>
  <p>
    And voila! One <strong>xemacs-21.5</strong> directory complete with the
    latest versions of the base code. Packages are separate, of
    course.</p>

  <p>
    The <strong>-d</strong>option says what to name the new CVS directory
    tree.</p>

  <p>
    The <strong>-z3</strong> option enables compression during transit, and
    speeds things along tremendously.</p>

  <p>
    <strong>Note:</strong> <font size="-1">I originally suggested you
      set this
      to <strong>-z9</strong>, but am now asking that you drop the compression
      rate. The gains in compression are not that great, and the
      impact on my poor server can be tremendous...</font></p>

  <p>
    The <strong>-r</strong> option specifies the CVS branch to use.  XEmacs 21.5
    (the development version), is on the trunk ``branch'' (which has
    no name), while XEmacs 21.1 uses the branch <strong>release-21-1</strong>,
    which is in the same CVS module.  The branch is not named
    something like <strong>xemacs-21.1</strong>, because periods are not
    permitted in a valid CVS branch name.</p>

  <p>
    As it is ignored if not used on a network connection, you might
    want to add it to your <strong>~/.cvsrc</strong> file for future use. You
    could use a line like this:</p>

  <pre xml:space="preserve">
cvs -z3
  </pre>

  Another neat something to put in there could be

  <pre xml:space="preserve">
diff -u
  </pre>

  which will make sure everything always comes out in unified diffs, and

  <pre xml:space="preserve">
checkout -P
update -Pd
  </pre>

  <p>
    which will make update get rid of empty directories and create any
    new ones in the tree.  There have also been reports that some
    files are not created unless <tt>-Pd</tt> is used with <tt>cvs
      update</tt>.</p>

  <p>
    When there is an upstream update, you can get the whole skinny
    quick, fast and relatively painlessly with the following command
    (executed from the directory created by <tt><strong>cvs
        checkout</strong></tt>).</p>

  <pre xml:space="preserve">
pentagana [533]$ <strong>cvs update</strong>
  </pre>

  <p>
    Again, you probably will want to add the -P switch (after the word
    update!) to properly track any changes to the directory structure
    if you do not have that in your <strong>~/.cvsrc</strong> file.</p>

  <h3><a name="tags">A word about CVS tags</a></h3>

  <p>
    XEmacs developers do CVS commits on an irregular basis.  The
    purpose behind this is to keep those actively coding on the same
    page.  There is no guarantee that the current CVS sources even
    compile for anyone.  This means that if you blindly do a <strong>cvs
      update</strong>, there is a chance that what you get is not
    functional.</p>

  <p>
    The way to get around this is to use the tag feature of CVS.  All
    of the official releases (i.e. those available in tarball form on
    the ftp site) are at least minimally tested by the `release
    engineer' for that release.  By specifying a tag to most CVS
    commands, you can tell it which version to grab (however, they
    default to the most recent in the branch you're working on). All
    of the 21.x releases are tagged in the format rMAJOR-MINOR-RELEASE
    (examples: XEmacs 21.5 beta 1 is tagged r21-5-1).  Yes, this
    naming convention has changed from before.  Old tags had names
    like r21-2b26.</p>

  <p>
    The way you use this is by appending the <strong>-r &lt;TAG&gt;</strong>
    option to the CVS command you want to use. Therefore, to update to
    21.2 beta 26 (but no further) from an earlier release, you'd
    type:</p>

  <pre xml:space="preserve">
pentagana [533]$ <strong>cvs update -r r21-2-26</strong>
  </pre>

  <p>
    For beta release on the trunk (XEmacs 21.5), there is a special
    <strong>r21-5-latest-beta</strong> tag that you can use to always upgrade to
    the latest released beta, but no further.  This way you can do
    <strong>cvs update -r r21-5-latest-beta</strong> just once, and because the
    tag is sticky, just do a simple <strong>cvs update</strong> thereafter.</p>

  <p>
    For more info, check your friendly CVS texinfo files.</p>

  <hr/>

  <h3><a name="packages">New Package system</a></h3>

  <p>
    For those of you wishing to work with XEmacs 21, you should
    probably know about our new packaging system. All the details are
    available <a href="packages.html">here</a>, but for those of you
    impatient to jump right in, here's the deal with the CVS trees
    related to packages.</p>

  <p>
    Each individual package can be grabbed from this CVS server via
    the same process described above, with the replacement of
    <strong>&lt;PACKAGE-NAME&gt;</strong> for the module name. For example:</p>

  <pre xml:space="preserve">
pentagana [535]$ <strong>cvs -z3 -d :pserver:cvs@cvs.xemacs.org:/pack/xemacscvs checkout gnus</strong>
  </pre>
  will get you a brand spanking new copy of gnus.

  <p>
    There is also an 'uber-package' that will grab all of the packages
    at once, and even set them up for easy compilation and
    installation.  To use that, simple grab the module
    <strong>packages</strong>.</p>

  <hr/>

  <h3><a name="webaccess">Web Access using ViewCVS</a></h3>

  <p>
    The web-based information generated here is all courtesy of <a
                                                                   href="http://viewcvs.sourceforge.net/">ViewCVS</a>. The <a
                                                                                                                              href="http://viewcvs.sourceforge.net/#History">history</a> of
    ViewCVS goes back to cvsweb.</p>

  <p>
    You can browse the file hierarchy by picking directories (which
    have slashes after them, e.g. <a
                                     href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/lisp/">lisp/</a>).
    If you pick a file, e.g. <a
                                href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/lisp/config.el">config.el</a>,
    you will see the revision history for that file.</p>

  <p>
    There is a link at each revision to:</p>

  <ul>
    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/lisp/config.el?annotate=1.4">annotate</a> the file (or to blame someone)</li>
    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/lisp/config.el.diff?r1=1.3&r2=1.4">display diffs</a> between that revision and the previous one</li>
    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/*checkout*/XEmacs/xemacs/lisp/config.el?rev=1.4">download</a> the file</li>
    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/lisp/config.el?rev=1.4&content-type=text/vnd.viewcvs-markup">view</a> the file</li>
  </ul>

  <p>
    A form at the bottom of the page allows you to display diffs
    between arbitrary revisions or to only view files of a certain CVS
    branch.</p>

  <ul>

    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs-19/">Historic XEmacs version 19 core CVS tree</a></li>

    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs/">XEmacs version 20+ core CVS tree</a></li>

    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/packages/">XEmacs packages CVS tree</a></li>

    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacs-builds/">XEmacs build scripts CVS tree</a></li>

    <li><a href="http://cvs.xemacs.org/viewcvs.cgi/XEmacs/xemacsweb/">XEmacs Website CVS tree</a></li>

  </ul>

  <hr/>
  <h3><a name="committers">Commit (R/W) access to the CVS trees</a></h3>

  <p>
    A number of people are able to commit directly to the CVS tree
    using CVS commands.  We are trying to increase this number, which
    has the following advantages:</p>

  <ul>

    <li>
      <p>
        The CVS history will contain the true author of a change,
        which makes tracking changes easier, and gives credit where
        credit is due.</p></li>

    <li>
      <p>
        Committers are more likely to take responsibility for their
        changes when they are directly modifying the CVS repository
        themselves.</p></li>

  </ul>

  <p>
    To qualify to be a committer, you should have one of the following
    qualifications:</p>

  <ul>

    <li>
      <p>
        A history of submitting successful patches to
        <a href="http://list-archive.xemacs.org/xemacs-patches/">xemacs-patches</a></p></li>

    <li>
      <p>
        A maintainer of a lisp package gets automatic CVS commit
        access to the portion of the CVS repository that contains the
        package.</p></li>

  </ul>

  <p>
    Currently we are adding new committers using the following
    method (which may change):</p>

  <ol>

    <li>
      <p>
        Make sure ssh version 1 is installed on your
        computer.</p></li>

    <li>
      <p>
        Get yourself a ssh public key.  Here is some unsolicited
        advice on maintaining your ssh key:</p>

      <p>
        In general, you should only have ONE identity that you expose
        to the outside world.  Create only ONE
        <tt>~/.ssh/identity</tt> and <tt>~/.ssh/identity.pub</tt> pair
        with <tt>ssh-keygen</tt>, and change the comment to something
        more meaningful like your email address.  Your ssh public key
        is a lot like a business card.</p>

      <p>
        For example, I modified the comment in my public key using</p>

      <pre xml:space="preserve">
ssh-keygen -c -C 'Martin Buchholz &lt;martin@xemacs.org&gt;'
      </pre>

      <p>
        After you have created your public key, copy the
        <tt>~/.ssh/identity</tt> and <tt>.ssh/identity.pub</tt> file
        pair to all the machines you run ssh <strong>from</strong>.  When people
        ask you for your public ssh key, just send them the contents
        of this <tt>identity.pub</tt>.</p>

      <p>
        Also, append your public key file <tt>identity.pub</tt> to the
        <tt>~/.ssh/authorized_keys</tt> file on all the machines you
        run ssh <strong>to</strong>.</p></li>

    <li>
      <p>
        Send the CVS administrator (currently <a
                                                 href="mailto:cvs-admin@xemacs.org">Stephen Turnbull</a>) your
        preferred CVS user name and your public ssh key (i.e. the
        contents of <tt>~/.ssh/identity.pub</tt>).  The CVS
        administrator will take care of the administrivia to give you
        access.</p></li>

    <li>
      <p>
        Add this stanza to your <tt>~/.ssh/config</tt> file (create it
        if necessary):</p>

      <pre xml:space="preserve">
Host cvs.xemacs.org
	User		xemacs
	ForwardX11	no
	ForwardAgent	no
        Protocol        1
      </pre>

      <p>
        Yes, you need to use the literal <tt>xemacs</tt>, not your own
        CVS user name.</p>

      <p>
        You can debug your ssh connection by doing something like
        <tt>ssh -v cvs.xemacs.org</tt>, and on connecting (there will
        be no prompt) entering the command <tt>noop</tt>, and if ssh
        is working, getting the response <tt>ok</tt>.  You can use
        command <tt>version</tt> to determine the CVS server
        version.</p></li>

    <li>
      <p>
        Create a shell script, perhaps named `<tt>cvs-rw</tt>', that
        looks like this:</p>

      <pre xml:space="preserve">
#!/bin/sh
exec env CVS_RSH=ssh cvs -w -z3 -d:ext:xemacs@cvs.xemacs.org:/pack/xemacscvs ${1+"$@"}
      </pre>

      You can test this by running a harmless CVS command, like
      <tt>cvs-rw diff version.sh</tt>.</li>

    <li>
      <p>
        When you want to do a commit, do</p>
      <pre xml:space="preserve">
cvs-rw commit <i>[commit-args ...]</i>
      </pre>

      <p>
        Unfortunately, the <tt>:ext:</tt> server is unreliable, so for
        now you should use <tt>cvs-rw</tt> <strong>only</strong> for
        commit operations.  Use plain <tt>cvs</tt> for
        <tt>checkout</tt>, <tt>update</tt>, <tt>diff</tt>, etc...</p>

      <p>
        There is an <strong>important bug</strong> even in the latest
        versions of CVS.  For most operations, CVS will automatically
        recurse into subdirectories, and execute the operation in each
        subdirectory.  For example, in the top-level directory
        .../xemacs-21.5, executing <tt>cvs update .</tt> will update
        the top-level directory, as well as src, src/s, src/m, lisp,
        etc, and so on.</p>

      <p>
        The bug occurs only for the commit operation.  If (1) you do a
        recursive commit, and (2) there are changes to commit in both
        the top level and lower level directories, the <em>changes in
          the top level directory will not get committed</em>.  For
        example, as a new developer you wish to add your photo to
        ./etc/photos.  So you copy newface.png and newfacem.png to
        ./etc/photos, and use <tt>cvs add</tt> to inform the CVS
        server of their existence.  Since the lowest ChangeLog on that
        path is in the top directory, you note "* newface*.png: New
        file" in ./ChangeLog.  If you now execute <tt>cvs-rw commit
          .</tt>, cvs will report "Committing newface.png ... Committing
        newfacem.png." ./ChangeLog has not been committed, and your
        change will not be visible to other developers!</p>

      <p>
        Nor does it help to give an explicit list like</p>

      <pre xml:space="preserve">
cvs-rw commit ./ChangeLog ./etc/photos/newface.png ./etc/photos/newfacem.png
      </pre>

      <p>
        ./ChangeLog will still be omitted.  The fix is simple: just
        repeat the commit.  Since all lower-level files have been
        committed, only ./ChangeLog remains.  Condition (2) is not
        satisfied (there is no work in subdirectories), so ./ChangeLog
        is committed to the repository.</p></li>

  </ol>

  <hr/>
  <h3><a name="recent"></a>News and changes</h3>

  <h5>2001-12-09</h5>

  <p>
    All of the XEmacs CVS Repository (including its website) is now
    hosted by SunSITE.dk.  The repository is browsable with ViewCVS,
    which offers these great features:</p>

  <ul>
    <li>Colorization for many file types via enscript.</li>
    <li>Bonsai-like <a href="http://cvs.sunsite.dk/query.cgi?repository=%2Fpack%2Fxemacscvs&branch=&directory=&file=&who=&sortby=date&date=hours&hours=2">query</a> features. (Requires MySQL and some other prerequisites)</li>
    <li>Annotation/blame viewing support against a read-only repository.</li>
  </ul>

  <h5>2001-11-08</h5>

  <p>
    Changes by Stephen:</p>

  <p>
    Fix bogus instructions from old CVS repository host, name of cvs
    administrator, etc.</p>

  <h5>2001-06-01</h5>

  <p>
    Changes by Steve Y:</p>

  <p>
    Modified references to the package tree to refer to the new
    <strong>packages</strong> CVS module.</p>

  <h5>2001-05-21</h5>

  <p>
    Changes by Stephen:</p>

  <p>
    <em>The Great Trunk Move</em> is documented.</p>

  <p>
    The ``top-level changes get lost in recursive commits'' bug is
    described.</p>

  <p>
    The version of CVS in use, and recommended, is now 1.11.</p>

  <p>
    XEmacs versions are updated: beta -> 21.5, gamma (new) -> 21.4,
    and stable remains 21.1.</p>

  <p>
    References to the xemacs-20 module are eliminated.</p>

  <h5>2000-01-04</h5>

  <p>
    Changes by Martin (?):</p>

  <p>
    A section on committing to the CVS tree has been added.</p>

  <p>
    The tag <strong>r21-2-latest-beta</strong> has been introduced.</p>

  <p>
    Many more people have CVS write access.</p>

  <p>
    We are planning the following changes in the future:</p>

  <ul>
    <li>Moving the unstable development branch to the CVS trunk, and moving xemacs-21.1 onto a branch, probably release-21-1.</li>
    <li>Moving the web pages (like this page) under CVS control itself.</li>
    <li>Upgrade the CVS server to a nicer machine.</li>
    <li>Upgrade the version of the CVS server software to 1.10.x.</li>
    <li>Eliminate the currently required password on anonymous access.</li>
  </ul>

  <p>
    We've done a little reworking of the CVS tree, and to reduce
    confusion, the current tree has been renamed from <strong>xemacs-20</strong>
    to just <strong>xemacs</strong>. For now symlinks are in place to keep
    things backwards compatible, but I don't know how long they're
    going to be there. Also, we've opened up the numbers of people who
    have write access to the tree, and so updates are going to me much
    more frequent. This means you probably will want to start working
    with tags in order to make sure you get a release or snapshot,
    instead of the current (potentially unstable) working copy (unless
    you REALLY want that...). For the moment, the head of the tree
    will still be the latest stable release (currently pre21.0) but
    this may change to where the head is our development area, and you
    will have to use tags to grab a particular version.</p>

  <hr/>

  This document used to be maintained by
  <address><a href="mailto:jareth@xemacs.org">Jareth Hein</a></address>

  <!-- Keep this comment at the end of the file
  Local variables:
  mode: xml
  sgml-omittag:nil
  sgml-shorttag:nil
  sgml-namecase-general:nil
  sgml-general-insert-case:lower
  sgml-minimize-attributes:nil
  sgml-always-quote-attributes:t
  sgml-indent-step:2
  sgml-indent-data:t
  sgml-parent-document:("../template.html" "html" "body" "table" "tr" "td")
  sgml-exposed-tags:nil
  sgml-local-catalogs:nil
  sgml-local-ecat-files:nil
  End:
  -->