annotate README.snapshots @ 12312:b10ea6efdc58 release-3-4-x ss-3-3-91

version is now 3.3.91
author John W. Eaton <jwe@octave.org>
date Mon, 31 Jan 2011 08:36:58 -0500
parents 66fdc831c580
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
1 Octave Snapshots -- general info
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
2
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
3 Snapshots are an "image" of the main Octave development tree, captured
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
4 at a particular random instant in time. When you use the snapshots,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
5 you should be able to maintain a local copy of Octave that is
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
6 reasonably close to the official source tree used by the Octave
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
7 maintainers.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
8
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
9 The primary purpose of providing snapshots is to widen the group of
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
10 motivated developers that would like to help test, debug, and enhance
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
11 Octave, by providing you with access to the "latest and greatest"
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
12 source. This has several advantages, and several disadvantages.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
13
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
14 First the advantages:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
15
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
16 o Once we have a large base of motivated testers using the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
17 snapshots, this should provide good coverage across all
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
18 currently supported Octave hosts and targets. If a new bug is
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
19 introduced in Octave due to fixing another bug or ongoing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
20 development, it should become obvious much more quickly and
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
21 get fixed before the next general net release. This should
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
22 help to reduce the chances of Octave being released to the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
23 general public with a major bug that went unnoticed during the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
24 release cycle testing because they are machine dependent. We
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
25 hope to greatly improve Octave's stability and reliability by
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
26 involving more people and more execution environments in the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
27 prerelease testing.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
28
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
29 o With access to the latest source, any diffs that you send to fix
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
30 bugs or add new features should be much easier for the Octave
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
31 maintainers to merge into the official source base (after
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
32 suitable review of course). This encourages us to merge your
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
33 changes quicker, while they are still "fresh".
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
34
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
35 o Once your diffs are merged, you can obtain a new copy of Octave
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
36 containing your changes almost immediately. Thus you do not
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
37 have to maintain local copies of your changes for any longer
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
38 than it takes to get them merged into the official source
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
39 base. This encourages you to send in changes quicker.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
40
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
41 And the disadvantages:
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
42
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
43 o The snapshot you get will be largely untested and of unknown
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
44 quality. It may fail to configure or compile. It may have
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
45 serious bugs. You should always keep a copy of the last known
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
46 working version before updating to the current snapshot, or at
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
47 least be able to regenerate a working version if the latest
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
48 snapshot is unusable in your environment for some reason.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
49
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
50 If a production version of Octave has a bug and a snapshot has
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
51 the fix, and you care about stability, you should put only the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
52 fix for that particular problem into your production version.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
53 Of course, if you are eager to test Octave, you can use the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
54 snapshot versions in your daily work, but users who have not
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
55 been consulted about whether they feel like testing Octave should
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
56 generally have something which is at least as bug free as the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
57 last released version.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
58
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
59 o Providing timely response to your questions, bug reports, and
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
60 submitted patches will require the Octave developers to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
61 allocate time from an already thin time budget. Please try to
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
62 help us make this time as productive as possible. See the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
63 section below about how to submit changes.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
64
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
65
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
66 How to get the snapshots
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
67 ------------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
68
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
69 The current plan is to provide a full snapshot every week or so. For
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
70 now, diffs from previous versions will not be available. The files
5041
b2ce28713791 [project @ 2004-10-01 18:12:10 by jwe]
jwe
parents: 2330
diff changeset
71 will be available via anonymous ftp from ftp.octave.org, in the
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
72 directory /private/octave in the form of a tar files compressed with
5041
b2ce28713791 [project @ 2004-10-01 18:12:10 by jwe]
jwe
parents: 2330
diff changeset
73 GNU gzip. You can ftp gzip from ftp.octave.org in the directory
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
74 /pub/gnu.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
75
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
76 Even though the snapshots are available in a public place, we ask that
9031
1052a66078cf Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents: 7088
diff changeset
77 recipients not widely publicize the availability of the snapshots.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
78 The motivation for this request is not to hoard them, but to avoid the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
79 situation where the general Octave user base naively attempts to use
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
80 the snapshots, has trouble with them, complains publicly, and the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
81 reputation of Octave declines because of a perception of instability
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
82 or lack of quality control.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
83
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
84
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
85 Octave test suite
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
86 -----------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
87
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
88 A test suite is distributed as an integral part of the snapshots.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
89 However, to use it you will need to get a copy of the dejagnu testing
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
90 framework. Snapshots of dejagnu are available alongside the Octave
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
91 snapshots, using the same naming conventions as the Octave snapshots.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
92 Once you have installed the dejagnu framework, a simple "make check"
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
93 in the Octave directory should be sufficient to run the tests.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
94
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
95 Note that the test suite is still quite limited. The test framework
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
96 itself might not install on your system if you have an environment
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
97 that is not similar to one that the Octave developers already use.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
98 The tests themselves only cover a small portion of Octave features,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
99 and what tests do exist for a feature are not exhaustive. New tests
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
100 are welcomed.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
101
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
102
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
103 Bug reports
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
104 -----------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
105
5041
b2ce28713791 [project @ 2004-10-01 18:12:10 by jwe]
jwe
parents: 2330
diff changeset
106 Send bug reports to maintainers@octave.org.
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
107
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
108 Note that since no testing is done on the snapshots, and snapshots may
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
109 even be made when Octave is in an inconsistent state, it may not be
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
110 unusual for an occasional snapshot to have a very obvious bug, such as
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
111 failure to compile on *any* machine. It is likely that such bugs will
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
112 be fixed by the next snapshot, so it really isn't necessary to report
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
113 them unless they persist over more than one snapshot.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
114
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
115 Missing files should always be reported, since they usually mean there
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
116 is a problem with the snapshot-generating process and we won't know
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
117 about them unless someone tells us.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
118
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
119 Bugs which are non-obvious, such as failure to compile on only a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
120 specific machine, a new machine dependent or obscure bug (particularly
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
121 one not detected by the testsuite), etc. should be reported when you
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
122 discover them, or have a suggested patch to fix them.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
123
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
124
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
125 FORMAT FOR PATCHES
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
126 ------------------
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
127
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
128 If you have a fix for a bug, or an enhancement to submit, send your
5041
b2ce28713791 [project @ 2004-10-01 18:12:10 by jwe]
jwe
parents: 2330
diff changeset
129 patch to maintainers@octave.org. Here are some simple guidelines for
b2ce28713791 [project @ 2004-10-01 18:12:10 by jwe]
jwe
parents: 2330
diff changeset
130 submitting patches:
2330
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
131
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
132 o Use "context diffs" for patches. A typical command for
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
133 generating context diffs is "diff -rc octave-old octave-new".
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
134
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
135 o Use the "minimalist approach" for patches. That is, each patch
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
136 should address only one particular bug, new feature, etc. Do
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
137 not save up many unrelated changes and submit them all in one
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
138 big patch, since in general, the larger the patch the more
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
139 difficult it is for us to decide if the patch is either
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
140 correct or desirable. And if we find something about the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
141 patch that needs to be corrected before it can be installed,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
142 we would have to reject the entire patch, which might contain
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
143 changes which otherwise would be accepted if submitted
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
144 separately.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
145
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
146 o Submit a sample ChangeLog entry with your patch. See the
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
147 existing Octave ChangeLog for examples of what a ChangeLog
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
148 entry should look like. The emacs command ^X4A will create a
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
149 ChangeLog entry header for you.
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
150
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
151
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
152 Thanks,
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
153
12ff450cbb1f [project @ 1996-07-19 01:39:22 by jwe]
jwe
parents:
diff changeset
154 John W. Eaton
9322
66fdc831c580 fix jwe email address
John W. Eaton <jwe@octave.org>
parents: 9031
diff changeset
155 jwe@octave.org
7088
5eb3db6e4042 [project @ 2007-10-31 20:35:10 by jwe]
jwe
parents: 5041
diff changeset
156
5eb3db6e4042 [project @ 2007-10-31 20:35:10 by jwe]
jwe
parents: 5041
diff changeset
157 Wed, 31 Oct 2007 16:31:54 EDT
5eb3db6e4042 [project @ 2007-10-31 20:35:10 by jwe]
jwe
parents: 5041
diff changeset
158
5eb3db6e4042 [project @ 2007-10-31 20:35:10 by jwe]
jwe
parents: 5041
diff changeset
159 This file was adapted from a similar document written by Fred Fish and
5eb3db6e4042 [project @ 2007-10-31 20:35:10 by jwe]
jwe
parents: 5041
diff changeset
160 used by the GDB developers.
5eb3db6e4042 [project @ 2007-10-31 20:35:10 by jwe]
jwe
parents: 5041
diff changeset
161