(file) Return to ChangeLog CVS log (file) (dir) Up to [XFree86 CVS] / cvsup

  1 dawes 1.1.1.2 Notable changes in release 14.1:
  2               
  3                 For both the client and the server, there is now a "-c collDir"
  4                 command line option for overriding the name of the subdirectory
  5                 where the collection information is maintained.  The name used
  6                 to be hard-wired to "sup", and that is still the default.
  7               
  8                 If the client's prefix directory for a collection doesn't exist,
  9                 it is no longer a fatal error.  A warning is produced and the
 10                 offending collection is skipped, but the others are still processed
 11                 normally.  If the prefix is a symbolic link pointing to "SKIP",
 12                 the warning is suppressed.
 13               
 14                 Fixed a server problem that caused certain pathological updates in
 15                 checkout mode to take damned near forever.
 16               
 17                 Fixed a problem that caused fixups to be performed for certain
 18                 RCS files that were corrupted to begin with.  The files had incorrect
 19                 dates on some revisions, because they had been hacked up by hand.
 20                 That caused the client to write out the delta texts in the wrong
 21                 order.  Since there was a way to work around this dubious situation, I
 22 dawes 1.1.1.2   implemented it.
 23               
 24                 Changed the logic surrounding the time stamp comparisons between
 25                 files on the client and files on the server, eliminating a
 26                 miniscule possibility of missed updates.  Now, the system can
 27                 detect it if a file happens to have been modified independently
 28                 on both the client and the server at exactly the same time.  The
 29                 file is recognized as possibly needing an update, even though
 30                 its time stamp is the same on the client and the server.
 31               
 32                 Fixed the client's lock file handling ("-l" option) so that the
 33                 lock remains held during the intervals between retries.  Formerly,
 34                 the lock was released during those intervals, rendering it fairly
 35                 useless for avoiding multiple stacked up processes from cron
 36                 jobs.
 37               
 38                 Added a check to make sure it is possible to get the client host's
 39                 own IP address before starting up the GUI.  Formerly, misconfigured
 40                 hosts (e.g., incorrect host name) would result in a baffling
 41                 "IP.FatalError" message.
 42               
 43 dawes 1.1.1.2   Changed the priorities for syslog messages from the server so
 44                 that messages associated with individual client connections are
 45                 logged at "info" level rather than "notice".  For simple syslog.conf
 46                 setups, that takes these mostly informational messages out of
 47                 /var/log/messages, where they caused a lot of clutter.  The
 48                 logging still isn't perfect, as a few more serious messages now
 49                 also come out at "info" level.  Nevertheless, the new situation
 50                 is an improvement.
 51               
 52                 Added a new "-k" command line option for the client, intended
 53                 for debugging.  This option causes the bad temporary files to be
 54                 saved for files requiring fixups due to incorrect edits.  The
 55                 fixups are still performed, regardless.
 56               
 57                 Further improved the server's handling of corrupted RCS files.
 58                 In virtually all circumstances, the server should now be able to
 59                 issue warnings for corrupted RCS files and carry on with the
 60                 remaining updates.
 61               
 62                 Beefed up the semantic checking of RCS files, to detect some more
 63                 pernicious kinds of corruption.
 64 dawes 1.1.1.2 
 65                 Added a "norsync" option which can be specified in the server's
 66                 "releases" files.  It allows the server to disable the use of
 67                 the rsync algorithm for selected collections and releases.  This
 68                 is beneficial for CVS repositories, where CVSup's "append" updates
 69                 work better and more efficiently than the rsync algorithm.
 70               
 71                 Added additional server checks of the filenames received from
 72                 the client, to ensure that the server cannot be spoofed into
 73                 delivering files from outside its collections.
 74               
 75 dawes 1.1     Notable changes in release 14.0:
 76               
 77                 CVSup now uses Tridgell & Mackerras' "rsync" algorithm for updating
 78                 non-RCS files.  It is enabled by default, though it can be turned
 79                 off for individual collections by specifying the "norysnc" keyword.
 80               
 81                 The supfile can now have special collections named "*default" to
 82                 specify default parameters for subsequent collections.
 83               
 84                 The "base" and "host" supfile settings can now be overridden on
 85                 the client's command line.
 86               
 87                 The client now supports multiple "refuse" files:  a global one
 88                 which applies to all collections; a per-collection one; and one
 89                 that is specific to a release+tag within its collection.
 90               
 91                 There is now a client option to specify a lock file, to prevent
 92                 multiple cvsup processes from interfering with each other.  It
 93                 is useful when the client is run periodically from cron, to avoid
 94                 trouble if a job runs unusually long because of network problems.
 95               
 96 dawes 1.1       The client now refuses to create the "base" or "prefix" directory
 97                 for any collection.  Instead, it emits a diagnostic if either
 98                 directory doesn't exist.  As a special case, if the "prefix" is
 99                 a symbolic link pointing to a nonexistent file named "SKIP", the
100                 associated collection will be skipped without complaint.
101               
102                 The default "base" for the client is now "/usr/local/etc/cvsup".
103               
104                 Both the server's and client's "prefix" directories are now
105                 interpreted relative to their base directories, if they are not
106                 absolute pathnames.
107               
108                 The client now silently refuses to set the setuid, setgid, and
109                 sticky bits in files that it creates or updates.
110               
111                 The client now does a better job of cleaning up its temporary
112                 files when it is killed by a signal.
113               
114                 The client now tries harder to look up the IP address of the
115                 server host.
116               
117 dawes 1.1       There is a new "keywordprefix" keyword for the server's "releases"
118                 file.  It specifies a prefix that is used when constructing the
119                 pathnames generated by the Header and Source RCS keywords.  This
120                 allows the actual repositories to be in different places on
121                 different machines, while still producing identical expansions
122                 of the RCS keywords.
123               
124                 The server will now accept connections from certain "friends"
125                 listed in a configuration file, regardless of whether the maximum
126                 number of simultaneous connections has been exceeded.
127               
128                 The server can now do its logging via syslog.
129               
130                 The server log messages have been cleaned up quite a bit.
131               
132                 The server now logs any repository problems that it notices,
133                 e.g., unparsable RCS files, non-RCS files in the Attic, and so
134                 forth.
135               
136                 The server now ignores any "hostbase" specified in the client's
137                 supfile.  A new server argument "-b base" specifies the base
138 dawes 1.1       directory.  The default is now "/usr/local/etc/cvsup".
139               
140                 The server now validates all collection names to make sure they
141                 contain no slashes and are not equal to "." or "..".
142               
143                 The server now checks for certain errors earlier, before becoming
144                 a daemon.
145               
146                 All of the programs except the server now install into
147                 "/usr/local/bin".  The server still installs into "/usr/local/sbin".
148               
149                 Fixed a bug in the ordering of the "branches" list in the RCS file,
150                 which on very rare occasions caused a "fixup" to be required.
151               
152                 Fixed a bug which could cause the client to hang trying to flush
153                 its network buffers after the user pressed the "stop" button in
154                 the GUI.
155               
156                 Fixed a bug that caused the client to complain "file exists" when
157                 trying to create directories leading up to a new file, if the
158                 pathname contained a "." (current directory) component in it.
159 dawes 1.1       This prevented "upgrade ." from being used in the server collection
160                 list files.  Unfortunately, since it's a client-side bug, such
161                 lines still should not be used for a while, until older releases
162                 of the client have evaporated away.
163               
164                 Fixed a bug which produced a misleading error message when a
165                 failure occurred in making the directories leading up to the
166                 temporary file that is used for the list file in the client.
167               
168                 When bad tokens or protocol errors are encountered, the offending
169                 text is no longer included in the error message.  Sometimes it
170                 contained voluminous amounts of garbage.
171               
172                 Messages reporting errors in the client-side list files are
173                 accompanied by line numbers now.
174               
175               Notable changes in release 13.5:
176               
177                 Support SOCKS, using a new add-on library in ports/lang/modula-3-socks.
178               
179                 Add command line options "-z" and "-Z" for directly controlling the
180 dawes 1.1       "compress" option, overriding what is in the supfile.  Likewise, add
181                 "-d" and "-D" for overriding the "delete" option.
182               
183                 Make the client retry automatically when transient failures occur.
184                 This is done only in batch (non-GUI) mode.  Retries use randomized
185                 exponential backoff.  The retry delay starts out at about 5 minutes,
186                 and increases to a maximum of about 2 hours.
187               
188                 Programs are now built fully dynamically linked by default.  If
189                 "-DSTATIC" is in the "M3FLAGS" environment variable, then they are
190                 linked fully static.  If "-DM3STATIC" is present, then the Modula-3
191                 libraries are linked statically, and the system libraries are linked
192                 dynamically.  (This used to be the default.)
193               
194                 It is now possible to build the client without the GUI, by adding
195                 "-DNOGUI" to the "M3FLAGS" environment variable.
196               
197               Notable changes in release 13.4:
198               
199                 Detect and send changes to the RCS keyword expansion mode.
200                 Formerly, these (rare) changes were ignored.  That caused checksum
201 dawes 1.1       mismatches, which slowed down updates because the whole files had
202                 to be sent as fixups.
203               
204                 Report 0-byte appends as what they really are, i.e., touches.
205                 Add a new statistics line for them.
206               
207                 Make the command line option handling comply better with POSIX.
208               
209                 Fix supconv to handle recent changes to the example "ports-supfile"
210                 in FreeBSD-current.
211               
212                 Add a timeout to kill a server process when it has been inactive
213                 too long (15 minutes).  This replaces the TCP keepalives that were
214                 added in the previous release.
215               
216                 Add a hack to the server to make it easier to shut it down in a
217                 controlled manner.  If a file "cvsupd-HALT" exists in the directory
218                 from which the server was started, and if it is newer than the
219                 time when the server was started, then the server will reject
220                 all new incoming connection requests.
221               
222 dawes 1.1       Make some changes to the zlib interface to eliminate the potential for
223                 an unsafe interaction with the garbage collector.
224               
225                 FreeBSD binary releases are now built with a new version of the
226                 Modula-3 runtime that has a thread-safe version of malloc built
227                 into it.  This cures some vexing core dumps that had been happening
228                 from time to time.
229               
230                 Add work-arounds for the worst of the problems associated with malloc
231                 packages that are not thread-safe.  These are not complete, however.
232                 I will probably incorporate a (hopefully portable) thread-safe malloc
233                 in the next release.
234               
235                 Eliminate several FreeBSD-specific constructs that caused
236                 portability problems on other platforms.  There is a good chance
237                 now that this software will compile and run out-of-the-box on
238                 most POSIX systems with standard SRC Modula-3 installations.
239               
240               Notable changes in release 13.3:
241               
242                 Implement a passive mode for establishing the data connection,
243 dawes 1.1       to help people who live behind firewalls.  Passive mode is similar
244                 to ftp's passive mode: all TCP connections are initiated from
245                 the client.  See the "-P -" option in cvsup(1).
246               
247                 Make the system much more resiliant in the face of errors in the
248                 server's CVS repository, such as unreadable files and garbled
249                 RCS files.  Almost all such situations now lead to simple warnings,
250                 rather than fatal errors.
251               
252                 Make it a warning rather than a fatal error when the client
253                 specifies an invalid collection.
254               
255                 Fix the broken "refuse" file handling.
256               
257                 Make the server refuse to run as root, for security reasons.
258               
259                 Fix a bug that could cause a fatal error to occur in certain
260                 situations involving local check-ins to RCS files in the CVS
261                 repository.
262               
263                 Fix a server bug encountered during SOCKS testing.  Note: This
264 dawes 1.1       release of CVSup still does not work with SOCKS.
265               
266                 Enable TCP keepalives on the server.
267               
268               Notable changes in release 13.2:
269               
270                 Fix a bug that caused the server to give up when an RCS file in the
271                 repository got really out of whack.  This happened only when it was
272                 trying to update a client file in checkout mode.  Now the server falls
273                 back upon checking out a fresh copy of the file.
274               
275               Notable changes in release 13.1:
276               
277                 Fix a bug that caused the server to leave zombie processes under
278                 FreeBSD-current.
279               
280                 Fix a bug that caused the build to fail on a manual page problem
281                 under FreeBSD-current.
282               
283                 Permit more control over which TCP ports are used, making it more
284                 convenient to use the client behind a firewall.  See the new "-P"
285 dawes 1.1       option in cvsup(1).
286               
287                 Support building static, dynamic, or partly dynamic executables.
288                 "Partly dynamic" means the system libraries are dynamic, but the
289                 Modula-3 runtime libraries are static.  See "Install" for details.
290                 For now, I am still putting fully static executables in the binary
291                 distributions.
292               
293                 Respond more quickly to the interrupt button on the client GUI.
294               
295                 Fix the supconv utility to handle the ports collection better.
296               
297                 Make supconv install properly, and add a manual page for it.
298               
299                 Add various enhancements to the manual pages.
300               
301               Release 13.0:
302               
303                 Initial public release.

Powered by
ViewCVS 0.9.2