/[meta-cvs]/meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3
ViewVC logotype

Diff of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.205 by kaz, Thu Oct 10 05:56:15 2002 UTC revision 1.205.2.82 by kaz, Fri Jan 9 05:22:01 2004 UTC
# Line 1  Line 1 
1    2004-01-08  Kaz Kylheku  <kaz@ashi.footprints.net>
2    
3            * code/options.lisp (process-cvs-options): Update
4            --version copyright message to 2004.
5    
6    2004-01-08  Kaz Kylheku  <kaz@ashi.footprints.net>
7    
8            Parsing directory sticky tag from CVS/Tag requires
9            slightly different logic from the sticky tags in CVS/Entries.
10            CVS/Entries doesn't distinguish branch and version
11            sticky tags.
12    
13            This change gets rid of the incorrect warning about
14            not all files being on the same tag when the working
15            copy is sticky to a version tag.
16    
17            * code/branch.lisp (parse-sticky): Function renamed to
18            parse-dir-sticky.
19            (parse-entries-sticky): New function.
20            (equal-sticky): New function.
21            (read-cvs-entries): Use parse-entries-sticky.
22            (same-tag-check): Use equal-sticky instead of equal.
23            (what-are-we-sticky-to): Use parse-dir-sticky.
24    
25    2004-01-08  Kaz Kylheku  <kaz@ashi.footprints.net>
26    
27            Cleanup.
28    
29            * code/grab.lisp (*grab-help*): Spelling error.
30    
31            * code/system.lisp: Require posix module before clisp-unix,
32            which wants it.
33    
34            * code/clisp-unix.lisp: Don't bother requiring posix,
35            since it comes from system.
36            Require "chatter" rather than "chatter.lisp"; this is why
37            were not getting the compiled version of this module
38            into the images.
39    
40    2004-01-08  Kaz Kylheku  <kaz@ashi.footprints.net>
41    
42            Upgrade to CLISP 2.32.
43    
44            * code/unix-bindings/unix.lisp: If the CLISP version is
45            newer than 2.31 then set the variables ffi::*output-c-functions*
46            and ffi::*output-c-variables* to get the old translator
47            behavior.
48    
49            * code/rcs-utils.lisp: We can't use #s read syntax for
50            specifying an rcs-token structure literal, because
51            we have not specialized make-load-form. This used to
52            work anyway but now breaks under CLISP 2.32.
53    
54    2003-07-15  Kaz Kylheku  <kaz@ashi.footprints.net>
55    
56            * code/mcvs-generic.lisp (mcvs-generic): Removed
57            the default-include-meta-files keyword parameter.
58            (mcvs-tag, mcvs-commit): Remove use of keyword parameter.
59            This fixes the silly behavior of including meta files
60            even when the command line specifies a file list.
61            Also, bugfix: *nometa-option* now works when
62            global-if-empty-file-list is true, and there are no files.
63    
64            * code/update.lisp (mcvs-update): Remove use of keyword
65            parameter in call to mcvs-generic.
66    
67    2003-07-06  Kaz Kylheku  <kaz@ashi.footprints.net>
68    
69            Based on a patch from Walter C. Pelissero <walter@pelissero.de>
70    
71            * code/mcvs-main.lisp (with-open-file-ignore-errors): New macro.
72            (mcvs-execute): Use new macro to properly handle opening the
73            controlling terminal when there are errors other than
74            the non-existence of the object.
75    
76    2003-06-12  Kaz Kylheku  <kaz@ashi.footprints.net>
77    
78            * code/mcvs-main.lisp (mcvs-help): Move some special declarations
79            out of the function to the top level.
80    
81    2003-05-25  Kaz Kylheku  <kaz@ashi.footprints.net>
82    
83            * code/filt.lisp (mcvs-filt-loop): Do not filter F- names that
84            are embedded in paths (preceded by a slash). This supersedes
85            the old behavior which was to avoid filtering F- names preceded
86            by "MCVS/".
87    
88    2003-04-30  Kaz Kylheku  <kaz@ashi.footprints.net>
89    
90            * code/generic.lisp (mcvs-generic): The after-synchronization
91            was going in both directions rather than just MCVS -> tree.
92    
93    2003-04-30  Kaz Kylheku  <kaz@ashi.footprints.net>
94    
95            * code/mcvs-main.lisp (mcvs-execute): If not able to open controlling
96            tty, emit some warning messages that interactive error handling is
97            disabled. This alerts users to problems, like missing /dev directory
98            on Cygwin.
99    
100    2003-04-24  Kaz Kylheku  <kaz@ashi.footprints.net>
101    
102            * docs/generate.sh: Use valid shell syntax for identifiers.
103    
104    2003-04-24  Kaz Kylheku  <kaz@ashi.footprints.net>
105    
106            * code/mcvs-main.lisp (mcvs-execute): Bugfix: add missing OPEN
107            option to avoid trying to create the controlling terminal device
108            if it does not exist, and yield NIL as expected.
109    
110    2003-04-23  Kaz Kylheku  <kaz@ashi.footprints.net>
111    
112            New commands, sync-from-cvs and sync-to-cvs.
113    
114            * code/mcvs-main.lisp (*sync-to-cvs-options*, *sync-from-cvs-options*):
115            New option constants.
116            (*mcvs-command-table*): New entries.
117            (*usage*): New help text.
118    
119            * code/generic.lisp (mcvs-generic): New keyword parameter
120            no-invoke-cvs.
121            (mcvs-sync-to-wrapper, mcvs-sync-from-wrapper): New functions.
122    
123    2003-04-23  Kaz Kylheku  <kaz@ashi.footprints.net>
124    
125            Improved error handling again in a flash of sanity. The whole
126            idea of ``bail'' as a restart is gone. All code which must perform
127            some complex cleanup action does so as part of normal unwinding.
128            And so termination becomes safe.
129    
130            * code/update.lisp (mcvs-update): Change bail restart to continue.
131    
132            * code/mcvs-main.lisp (*global-options*): Remove "error-bail".
133            (*usage*): Remove description of --error-bail.
134            (mcvs-execute): Bind *mcvs-error-treatment* to :terminate rather
135            than :bail if controlling TTY cannot be opened.
136    
137            * code/move.lisp (mcvs-move): Change "Undoing move" error message
138            to "Undoing changes to map".
139    
140            * code/add.lisp (mcvs-add): Get rid of bail restart; move cleanup
141            code into unwind-protect block.
142    
143            * code/error.lisp (*mcvs-error-treatment*): Touch up docstring.
144            (mcvs-error-handler): Remove anything having to do with :bail.
145            Change description of `T' command to suggest that it is safe.
146    
147            * code/options.lisp (filter-mcvs-options): Remove handling of
148            "error-bail" option.
149    
150            * code/mapping.lisp (mapping-update): Get rid of outermost
151            restart-case, which had just a bail restart. Replace it with
152            unwind-protect block which does exactly the same restoration.
153    
154    2003-04-22  Kaz Kylheku  <kaz@ashi.footprints.net>
155    
156            Improved error handling.  Use of tty for user interaction, plus
157            new global option for selecting non-interactive bail behavior.
158    
159            * code/mcvs-main.lisp (*global-options*): add --error-bail option.
160            (*usage*): Describe new option.
161            (mcvs-execute): Dynamically bind *interactive-error-io* variable
162            to a stream formed by opening the controlling tty.
163            Send error message to *error-output* rather than *standard-output*.
164    
165            * code/unix-bindings/unix.lisp (unix-funcs:ctermid): New function,
166            FFI interface to mcvs_ctermid.
167    
168            * code/unix-bindings/wrap.c (mcvs_ctermid): New function.
169    
170            * code/chatter.lisp (chatter): Chatter now goes to *error-output*
171            rather than *standard-output*.
172    
173            * code/error.lisp (*interactive-error-io*): New special variable,
174            holds stream open to controlling tty.
175            (mcvs-terminate): New function.
176            (mcvs-error-handler): Use *interactive-error-io* to print menu
177            and obtain user input. Support the :bail value of
178            *mcvs-error-treatment* Plus some cosmetic changes.
179    
180            * code/options.lisp (filter-mcvs-options): Support --error-bail option.
181    
182            * code/filt.lisp (mcvs-filt-loop): Bugfix, (read-line t ...)
183            should be (read-line *standard-input* ...) because t stands
184            for *terminal-io* rather than *standard-io*, unlike in the
185            format function!
186    
187            * code/rcs-utils.lisp (rcs-read-token): Read from *standard-input*
188            rather than *terminal-io*.
189    
190    
191    2003-04-21  Kaz Kylheku  <kaz@ashi.footprints.net>
192    
193            Slightly redesigned error handling protocol.
194    
195            * code/update.lisp (mcvs-update): Change continue restart to bail.
196    
197            * code/add.lisp (mcvs-add): Likewise.
198    
199            * code/error.lisp (mcvs-error-handler): Specially recognize two
200            additional restart symbols, bail and info. A bail restart performs
201            any rolling back and cleanup and terminates. Continuation is now
202            properly reserved for actions that proceed boldly to finish
203            the job, possibly irretrievably clobbering precious data.
204            The info restart is now a standard way to indicate that more
205            details about the error can be obtained, so this does not have
206            to be represented as a special action with an ad-hoc restart.
207    
208            * code/create.lisp (mcvs-create): Change show restart to info.
209    
210            * code/remap.lisp (mcvs-remap): Change ignore restart to continue.
211    
212            * code/mapping.lisp (mapping-update): Change ignore and do-clobber
213            restarts to continue, and print-clobbers restart to info.
214            Change continue restart to bail.
215    
216    2003-04-14  Kaz Kylheku  <kaz@ashi.footprints.net>
217    
218            New command, remote-filt.
219    
220            * code/mcvs-main.lisp (*remote-filt-options*): New option constant.
221            (*mcvs-command-table*): Entries for new command added.
222            (*usage*): Help text added.
223    
224            * code/filt.lisp (filt-select-map): New keyword parameter for
225            specifing repository module. CVS up -p or co -p command generated
226            accordingly. Also, little glitch fixed: the local case descends
227            into the MCVS directory, to avoid a warning message that occurs
228            when CVS is used in server mode.
229            (mcvs-filt-loop): New function, contains most of the old mcvs-filt
230            function body.
231            (mcvs-filt): Calls new mcvs-filt-loop to do actual filtering work.
232            (mcvs-remote-filt, mcvs-remote-filt-wrapper): New functions.
233    
234            * code/clisp-unix.lisp (with-input-from-program): Macro changed
235            to include debug tracing of the invoked command.
236    
237    2003-04-13  Kaz Kylheku  <kaz@ashi.footprints.net>
238    
239            * code/grab.lisp (read-word-hash): Convert each token to a simple
240            string object. This can save a lot of memory when large numbers
241            of files have to be analyzed.
242    
243    2003-04-12  Kaz Kylheku  <kaz@ashi.footprints.net>
244    
245            * code/mapping.lisp (mapping-read): Provide a restart for
246            file errors, which lets the user interactively substitute an
247            empty map if the file can't be read. This is intended to handle
248            the case when MCVS/MAP is missing; for example, the user
249            updated to a sticky date for which no revision of the MAP
250            exists. The effect of continuing will be that all files
251            will disappear.
252    
253    2003-04-12  Kaz Kylheku  <kaz@ashi.footprints.net>
254    
255            Revamped the synchronization logic. Synchronization now happens
256            in a specific direction.  For example, if we are doing a diff,
257            we just need to push changes from the tree to the MCVS directory,
258            not the other way around. Or: before an update or commit, we push from
259            the tree to MCVS, then after the update, in the other direction.
260    
261            * code/update.lisp (mcvs-update): The before update is done
262            in the :left direction only, and the after update in the :right.
263    
264            * code/move.lisp (mcvs-move): The just-in-case sync is done
265            in the :left direction only.
266    
267            * code/link.lisp (mcvs-link): Likewise.
268    
269            * code/remove.lisp (mcvs-remove): Likewise.
270    
271            * code/add.lisp (mcvs-add): Get rid of mapping-synchronize call;
272            it's completely unnecessary, since the new files are not even
273            in the MAP-LOCAL, and the add logic explicitly links them into
274            the MCVS directory.
275    
276            * code/generic.lisp (mcvs-generic): New keyword parameter,
277            need-sync-before. Before-synchronization done in :left direction,
278            after-synchronization in :right direction. Before-synchronization
279            is now not done by default; need-sync-before must be specified.
280            (mcvs-commit-wrapper): Specify before and after sync.
281            (mcvs-diff-wrapper, mcvs-status-wrapper,
282            mcvs-edit-wrapper): Explicitly specify before sync.
283            (mcvs-tag-wrapper, mcvs-annotate-wrapper): Implicitly specify no sync.
284            (mcvs-unedit-wrapper): Add before sync.
285    
286            * code/sync.lisp (synchronize-files):  New key parameter :direction,
287            values can be :left, :right or :either. Default is :either.
288            If the value is :left or :right, then a sync is done only in that
289            direction, otherwise the value :no-sync is returned.
290            Behavior change: if the left file is missing (F- file in MCVS
291            directory) it is not re-created, but rather :no-sync is returned.
292            Also, if both files exist, have the same timestamp, and are
293            distinct objects, if the direction is :left or :right, then
294            the appropriate restart is automatically chosen. So this will
295            do the right thing on filesystems where link() is performed by
296            copying, without bothering the user with the error.
297    
298            * code/mapping.lisp (mapping-synchronize): New :direction key
299            parameter, passed down to synchronize-filed. The new :no-sync
300            return value from synchronize-files is handled.
301            (mapping-update): Select the :right direction for synchronizing
302            moves, adds or rollbacks.
303    
304    2003-04-06  Kaz Kylheku  <kaz@ashi.footprints.net>
305    
306            * code/posix.lisp (execute-program-xargs): Fix again: perform
307            all of the split command lines, even if some of them fail.
308            The returned status is a logical AND combination; if all of the
309            subcommands succeeded then it's T, otherwise NIL.
310    
311    
312    2003-03-31  Kaz Kylheku  <kaz@ashi.footprints.net>
313    
314            * code/posix.lisp (execute-program-xargs): Bugfix: if program
315            execution fails, then bail out of the entire function, not just
316            the inner loop. Otherwise the program is wrongly run again,
317            on a bogus file list.
318    
319    2003-03-04  Kaz Kylheku  <kaz@ashi.footprints.net>
320    
321            * code/update.lisp (mcvs-update): Simplified restart code.
322    
323    2003-03-04  Kaz Kylheku  <kaz@ashi.footprints.net>
324    
325            * code/restart.lisp (parse-restart-case-keywords): New function.
326            (super-restart-case-expander): Some logic factored out
327            into new function.
328    
329    2003-03-03  Kaz Kylheku  <kaz@ashi.footprints.net>
330    
331            * code/mapping.lisp (mapping-update): Rewrite restart-bind
332            block using super-restart-case.
333    
334    2003-03-01  Kaz Kylheku  <kaz@ashi.footprints.net>
335    
336            * code/restart.lisp (super-restart-case-expander): Roll the
337            functionality of :report-format into :report.
338            (super-restart-case): Slight rearrangement of the tagbody
339            to eliminate the skip around the out-code.
340    
341    2003-03-01  Kaz Kylheku  <kaz@ashi.footprints.net>
342    
343            * code/restart.lisp (super-restart-case-expander): New function.
344            (super-restart-case): New macro.
345    
346            * code/create.lisp (mcvs-create): Rewrite a restart-bind
347            construct more succinctly using super-restart-case.
348    
349    2003-02-26  Kaz Kylheku  <kaz@ashi.footprints.net>
350    
351            * code/create.lisp (mcvs-create): After the TYPES file is
352            edited, scan the MCVS directory for unexpected files.
353            The intent is to detect text editor backups. If any are
354            found, some interactive error handling lets the user acknowledge
355            their deletion. If they are not deleted, then cvs import will
356            bring them into the repository. This behavior was discovered
357            by Johannes Grødem who suggested that it could be handled.
358    
359    2003-02-25  Kaz Kylheku  <kaz@ashi.footprints.net>
360    
361            * code/unix-bindings/wrap.c (mcvs_spawn): One more waitpid() bug!
362            The SIGCHLD signal handler was being set in the child process only,
363            so although we fixed the waitpid() behavior in the CVS child
364            process, we did not fix it in the Meta-CVS process. The ECHILD
365            problem was sporadically reproduced by Johannes Grødem on a fast
366            Athlon machine; it requires CVS to exit before Meta-CVS reaches
367            the waitpid() call.
368    
369    2003-02-24  Kaz Kylheku  <kaz@ashi.footprints.net>
370    
371            * code/options.lisp (format-opt): Some one-argument options of
372            CVS must appear as one command parameter, with no separation
373            between the option letter and the argument characters.
374            For example, ``cvs log -r foo::bar'' is invalid, it must
375            be ``cvs log -rfoo::bar''.  The format-opt function now
376            formats *all* one-letter options that have one argument
377            as one string.
378    
379    2003-02-23  Kaz Kylheku  <kaz@ashi.footprints.net>
380    
381            * code/mcvs-main.lisp (*usage*): Add help text for --up option.
382    
383    
384    2003-02-20  Kaz Kylheku  <kaz@ashi.footprints.net>
385    
386            Fix remaining occurences of SIG_IGN action for SIGCHLD being
387            passed to child processes.
388    
389            * code/unix-bindings/unix.lisp (unix-funcs:default-sigchld): New call
390            out function.
391    
392            * code/clisp-unix.lisp (with-input-from-program,
393            with-output-to-program): Call the new default-sigchild function
394            to set SIGCHILD signal handler to SIG_DFL just before creating
395            the pipe.
396    
397            * code/unix-bindings/wrap.c (mcvs_default_sigchld): New function.
398    
399    2003-02-12  Kaz Kylheku  <kaz@ashi.footprints.net>
400    
401            New --up option added for escaping out of nested sandboxes.
402    
403            * code/mcvs-main.lisp (*cvs-options*): Added "up" 1 arg option.
404    
405            * code/options.lisp (*nesting-escape-option*): New global,
406            default value 0.
407            (filter-mcvs-options): Filter new option, parse out and validate
408            integer argument.
409    
410            * code/mapping.lisp (mcvs-locate): When searching for MCVS
411            directory, skip N matches, where N is the value of
412            *nesting-escape-option*.
413    
414    2003-02-12  Kaz Kylheku  <kaz@ashi.footprints.net>
415    
416            * code/mcvs-main.lisp (*cvs-options*): Constant renamed
417            to *global-options*.
418    
419    2003-02-12  Kaz Kylheku  <kaz@ashi.footprints.net>
420    
421            * code/unix-bindings/wrap.c (mcvs-spawn): In the child process,
422            reset the signal handler for SIGCHLD to SIG_DFL before exec-ing
423            the new image. This is needed because CLISP set it to SIG_IGN,
424            which causes child reaping problems in spawned programs.
425            This should fix the ``No child processes'' problem when running
426            CVS from Meta-CVS.
427    
428    2003-02-11  Kaz Kylheku  <kaz@ashi.footprints.net>
429    
430            * code/memoize.lisp (remove-key-aux-rest, strip-lambda-list,
431            extract-tests, remove-tests, memoize-expander, factor-memo-labels,
432            define-memoized-function, memoized-labels): Documentation strings
433            added to this cryptic code.
434    
435    2003-02-02  Kaz Kylheku  <kaz@ashi.footprints.net>
436    
437            Make tag command work on whole tree if no arguments are given,
438            just like commit.
439    
440            * code/generic.lisp (mcvs-generic): no-fix-empty-filelist keyword
441            parameter renamed to global-if-empty-file-list, which more closely
442            reveals the purpose.
443            (mcvs-commit-wrapper): Use new keyword name.
444            (mcvs-tag-wrapper): Specify T value for :global-if-empty-filelist
445            argument, so the whole project is tagged by default if no arguments
446            are given.
447    
448    2003-02-01  Kaz Kylheku  <kaz@ashi.footprints.net>
449    
450            * code/unix-bindings/wrap.c (impl_spawn): Try waitpid again in a loop
451            while it returns -1, and errno is EINTR.
452            Reported by Johannes Grødem <johs@copyleft.no>.
453    
454    2003-01-30  Kaz Kylheku  <kaz@ashi.footprints.net>
455    
456            * code/posix.lisp: Move some (declaim inline) to the correct
457            location, before the function to be inlined.
458    
459            * code/clisp-unix.lisp: Likewise.
460            * code/cmucl-unix.lisp: Likewise.
461            * code/mapping.lisp: Likewise.
462    
463    2003-01-25  Kaz Kylheku  <kaz@ashi.footprints.net>
464    
465            * code/unix-bindings/wrap.c (mcvs_getcwd): If getcwd() returns
466            NULL, it only means that the buffer is too small if errno is also
467            set to ERANGE. This second condition was not being tested.
468            Reported by Johannes Grødem <johs@copyleft.no>.
469    
470            * code/clisp-unix.lisp (getcwd-error): New condition.
471            (initialize-instance (getcwd-error)): New method.
472            (getcwd): Raise getcwd-error condition if unix-funcs::getcwd
473            returns NIL.
474    
475    2003-01-15  Kaz Kylheku  <kaz@ashi.footprints.net>
476    
477            * code/unix-bindings/impl.c: File renamed to wrap.c.
478            (impl_null_pointer_p, impl_get_errno, impl_set_errno, impl_readdir,
479            impl_readlink, impl_stat, impl_lstat, impl_fstat, impl_getcwd,
480            impl_spawn): Prefix changed from ``impl_'' to ``mcvs_''.
481    
482            * code/unix-bindings/link.sh, code/unix-bindings/Makefile,
483            code/unix-bindings/unix.lisp: Updated accordingly.
484    
485    2003-01-13  Kaz Kylheku  <kaz@ashi.footprints.net>
486    
487            Support -k CVS option in merge and remerge commands.
488            Reported by Jamie Wellnitz.
489    
490            * code/mcvs-main.lisp (*merge-options*, *remerge-options*): Add
491            one argument -k option.
492    
493            * code/merge.lisp (mcvs-merge): Support extra argument for passing
494            command options. Pass them down to mcvs-update.
495            (mcvs-merge-wrapper, mcvs-remerge-wrapper): Don't ignore command
496            options but pass them to mcvs-merge.
497    
498    2003-01-13  Kaz Kylheku  <kaz@ashi.footprints.net>
499    
500            * code/install.sh: More fail-safe way to locate library directory;
501            works even when clisp executable is a symlink.  Thanks to Sam
502            Steingold, CLISP maintainer, for tip.
503    
504    2003-01-12  Kaz Kylheku  <kaz@ashi.footprints.net>
505    
506            Hard link sync optimization.
507    
508            * code/mapping.lisp (mapping-synchronize): New optional parameter,
509            specifies map to use instead of reading *map-local*.
510    
511            * code/mcvs-generic.lisp (mcvs-generic): Pass extra parameter to
512            mapping-synchronize to only sync the selected subset of files.
513    
514    2003-01-01  Kaz Kylheku  <kaz@ashi.footprints.net>
515    
516            * code/unix-bindings/impl.c (impl_spawn): For Cygwin, re-implemented
517            this function as a wrapper for the spawnvp function. The combination
518            of fork + execvp + waitpid does not work because waitpid is broken;
519            it waits for thep rocess, but then returns -1 and sets errno
520            to ECHILD.
521    
522    2002-12-27  Kaz Kylheku  <kaz@ashi.footprints.net>
523    
524            * code/options.lisp (process-cvs-options): The version number
525            now has three components.
526    
527    2002-12-13  Kaz Kylheku  <kaz@ashi.footprints.net>
528    
529            * code/install.sh: Now works under CLISP installations which
530            call the CLISP executable lisp.exe rather than lisp.run.
531            This is the case under Cygwin as of CLISP 2.30 or so.
532    
533    2002-12-03  Kaz Kylheku  <kaz@ashi.footprints.net>
534    
535            * code/sync.lisp (synchronize-files): Call exec-check using
536            file info object, rather than file name. This cuts in half
537            the number of calls to stat().
538    
539    2002-12-03  Kaz Kylheku  <kaz@ashi.footprints.net>
540    
541            Discontinuing use of CLISP's ext:run-program function in favor
542            of a new workalike which doesn't rely on the shell interpreter.
543    
544            * code/unix-bindings/unix.lisp (unix-funcs:spawn): New C call out
545            function (unix-funcs:run-program): New function, implemented using
546            spawn.
547    
548            * code/unix-bindings/impl.c (impl_spawn): New function; wraps
549            up fork, execvp and waitpid.
550    
551            * code/clisp-unix.lisp: Switch from ext:run-program to
552            unix-funcs:run-program.
553    
554    2002-11-20  Kaz Kylheku  <kaz@ashi.footprints.net>
555    
556            Some security fixes.  Funny I didn't think of this sooner!
557    
558            * code/types.lisp (types-read): Make sure *read-eval* is bound to
559            nil when calling READ.
560    
561            * code/mapping.lisp (mapping-read-raw-map, displaced-path-read):
562            Likewise.
563    
564    
565    2002-11-16  Kaz Kylheku  <kaz@ashi.footprints.net>
566    
567            * code/posix.lisp (invoke-editor-on): Honor the CVSEDITOR and VISUAL
568            environment variables, not just EDITOR.
569    
570    2002-11-09  Kaz Kylheku  <kaz@ashi.footprints.net>
571    
572            * code/link.lisp (mcvs-link): Revamped link command to behave properly
573            when the destination object is a directory. It must create the link in
574            that directory, rather than try to create a link with that name.
575            Plus handles various tricky cases. Trailing slash in destination name,
576            destination that is a directory within target directory, attempted
577            link creation in MCVS etc.
578    
579    2002-11-03  Kaz Kylheku  <kaz@ashi.footprints.net>
580    
581            More support for -n option.
582    
583            * code/mcvs-main.lisp (*usage*): Document -n option.
584    
585            * code/move.lisp (mcvs-move-wrapper): Remove bogus error check
586            for presence of global options.
587    
588            * code/options.lisp (honor-dry-run): New macro for conditionally
589            not executing some forms if it's a dry run, and logging some
590            debugging information.
591    
592            * code/sync.lisp (synchronize-files): Honor dry run.
593    
594            * code/mapping.lisp (mapping-synchronize, mapping-update): Likewise.
595    
596    2002-11-03  Kaz Kylheku  <kaz@ashi.footprints.net>
597    
598            Start of support for global option -n (dry run).
599    
600            * code/options.lisp (*dry-run-option*): New boolean variable.
601            (process-cvs-options): Look for -n and set *dry-run-option*.
602    
603            * code/types.lisp (types-write): Do not write file if *dry-run-option*
604            is true.
605    
606            * code/types.lisp (mapping-write): Likewise.
607    
608            * code/add.lisp (mcvs-add): When calling types-let-user-edit,
609            temporarily disable the dry run option, so that TYPES-NEW can
610            be written. When the dry run option is in effect, do not try
611            to cvs add the TYPES file.
612    
613    2002-11-03  Kaz Kylheku  <kaz@ashi.footprints.net>
614    
615            * code/branch.lisp (*branch-help*): New string constant.
616    
617            * code/mcvs-main.lisp (*mcvs-command-table*): *branch-help* hooked in.
618    
619    2002-11-02  Kaz Kylheku  <kaz@ashi.footprints.net>
620    
621            * code/mcvs-main (*args*, *options*): Unused variables removed.
622            (mcvs-execute): Global option processing code removed.
623    
624            * code/options.lisp (*print-usage*): New boolean variable; tells
625            mcvs-execute to print usage and terminate.
626            (filter-mcvs-options): New function. Does the job that
627            filter-global-options did.
628            (process-cvs-options): Does the global option processing that
629            was previously in mcvs-execute.
630            (filter-global-options): Now just calls filter-mcvs-options,
631            process-cvs-options.
632    
633    2002-11-02  Kaz Kylheku  <kaz@ashi.footprints.net>
634    
635            * INSTALL: Include caveat about GCC 3 problems.
636    
637    2002-10-30  Kaz Kylheku  <kaz@ashi.footprints.net>
638    
639            * code/prop.lisp (mcvs-prop): If there are no options specified,
640            don't do anything.
641    
642    2002-10-30  Kaz Kylheku  <kaz@ashi.footprints.net>
643    
644            * code/unix-bindings/unix.lisp: Rewrote defpackage to take only
645            selected symbols from CLISP's FFI package rather using the whole
646            thing. FFI, and the packages it uses, are moving targets.
647            The symbol def-c-call-out is interned in unix-funcs.
648            (unix-funcs:def-c-call-out): New internal macro. CLISP says that
649            ffi:def-c-call-out is obsolescent.
650    
651            * code/unix-bindings/Makefile: The ``clean'' target removes
652            unix.lib, not only unix.fas.
653    
654    2002-10-27  Kaz Kylheku  <kaz@ashi.footprints.net>
655    
656            Bugfix to the directory restructuring code. A clobbering
657            file add was not actually removing the clobbered file, but leaving
658            it up to the synchronization algorithm, so the time-stamp would
659            decide whether the local file gets clobbered by the repository one,
660            or whether it wins.
661    
662            * code/mapping.lisp (mapping-update): Logic for handling added
663            file ensures that a clobbered local file is removed first.
664    
665    2002-10-26  Kaz Kylheku  <kaz@ashi.footprints.net>
666    
667            New link command for creating symlinks.
668    
669            * mcvs-main.lisp (*link-options*): New option constant.
670            (*mcvs-command-table*): Entries for new command added.
671            (*usage*): Help text added.
672    
673            * link.lisp: New file.
674            (mcvs-link, mcvs-link-wrapper): New functions.
675    
676    2002-10-26  Kaz Kylheku  <kaz@ashi.footprints.net>
677    
678            * code/grab.lisp (*grab-help*): Rewritten.
679    
680            * code/checkout.lisp (*export-help*): Formatted for 80 columns.
681    
682    2002-10-26  Kaz Kylheku  <kaz@ashi.footprints.net>
683    
684            * code/mcvs-main.lisp (*usage*): Expand tabs to spaces.
685    
686            * code/add.lisp (*add-help*): Likewise.
687    
688            * code/remove.lisp (*remove-help*): Likewise.
689    
690            * code/create.lisp (*create-help*): Likewise.
691    
692    2002-10-26  Kaz Kylheku  <kaz@ashi.footprints.net>
693    
694            * code/purge.lisp (mcvs-purge): Get rid the processing of the
695            nonexistent -n option from purge code.  The global option -n does an
696            adequate job of implementing a dry run.
697    
698    2002-10-26  Kaz Kylheku  <kaz@ashi.footprints.net>
699    
700            * code/mapping.lisp (mapping-removed-files): Skip over the MCVS/CVS
701            directory, which can contain CVS-generated files with F- names and a ,t
702            suffix. These trip up the algorithm.
703    
704    2002-10-21  Kaz Kylheku  <kaz@ashi.footprints.net>
705    
706            Add help to move command.
707    
708            * code/mcvs-main.lisp (*mcvs-command-table*): Added *move-help*.
709    
710            * code/move.lisp (*mcvs-help*): New constant.
711    
712    2002-10-20  Kaz Kylheku  <kaz@ashi.footprints.net>
713    
714            Fix broken ``filt -r''.
715    
716            * code/mapping.lisp (mapping-read-raw-map): New function; reads
717            map from stream and does sanity check.
718            (mapping-read): Argument can be a filename or stream. Call to
719            mapping-read-raw-map to factor out common code for both cases.
720    
721            * code/filt.lisp (filt-select-map): This was still just
722            reading the raw structure from the cvs coprocess, which worked under
723            the old map format, when the internal and external representations
724            were the same. Now it calls mapping-read on the stream.
725    
726    2002-10-19  Kaz Kylheku  <kaz@ashi.footprints.net>
727    
728            * UPGRADE-EXISTING: New file.
729    
730    2002-10-19  Kaz Kylheku  <kaz@ashi.footprints.net>
731    
732            * code/mcvs-main.lisp: Clear out *modules* list before requiring
733            modules. This is needed so that mcvs-upgrade works, because there
734            is already a populated list in the Lisp image.
735    
736    2002-10-17  Kaz Kylheku  <kaz@ashi.footprints.net>
737    
738            Detect failure to start text editor.
739    
740            * code/posix.lisp (*editor*): Change name to *mcvs-editor*, due
741            to name-clash with a CLISP extension!
742    
743            * code/mcvs-main.lisp: Likewise.
744    
745            * code/types.lisp (types-let-user-edit): Provide an individual
746            restart-case block around the invocation of the text editor,
747            which lets the user re-try the editor.
748    
749    2002-10-14  Kaz Kylheku  <kaz@ashi.footprints.net>
750    
751            Compiler warning fix.
752    
753            * code/posix.lisp (*argument-limit*): Constant moved here.
754    
755            * code/clisp-unix.lisp (*argument-limit*): Constant removed.
756    
757            * code/cmucl-unix.lisp (*argument-limit*): Likewise.
758    
759    2002-10-13  Kaz Kylheku  <kaz@ashi.footprints.net>
760    
761            * code/install.sh: generate a script called mcvs-upgrade.
762    
763    2002-10-13  Kaz Kylheku  <kaz@ashi.footprints.net>
764    
765            * code/prop.lisp (mcvs-prop): Read *mcvs-map*, not *mcvs-map-local*.
766    
767    2002-10-13  Kaz Kylheku  <kaz@ashi.footprints.net>
768    
769            * code/mcvs-main.lisp (*watchers-options*): New constant.
770            (*edit-options*): Likewise.
771            (*unedit-options*): Likewise.
772            (*editors-options*): Likewise.
773            (*mcvs-command-table*): Added watchers, edit unedit, and editors
774            commands.
775            (*usage*): Updated.
776    
777            * code/generic.lisp (mcvs-watchers-wrapper, mcvs-edit-wrapper,
778            mcvs-unedit-wrapper, mcvs-editors-wrapper): New functions.
779    
780    2002-10-13  Kaz Kylheku  <kaz@ashi.footprints.net>
781    
782            * code/mcvs-main.lisp (*usage*): Describe export and watch commands.
783    
784    2002-10-13  Kaz Kylheku  <kaz@ashi.footprints.net>
785    
786            * code/mcvs-main.lisp (*watch-options*): New constant.
787            (*mcvs-command-table*): New entry for watch command.
788    
789            * code/watch.lisp: New file.
790    
791    2002-10-13  Kaz Kylheku  <kaz@ashi.footprints.net>
792    
793            * code/mcvs-main.lisp (*export-options*): New constant.
794            (*mcvs-command-table*): New entries for export command.
795    
796            * code/checkout.lisp (mcvs-checkout): New keyword to specify export
797            behavior.  This causes cvs export to be run instead of checkout,
798            and the MCVS directory to be deleted after.
799            (mcvs-checkout-wrapper): Common function factored out into a flet.
800            (mcvs-export-wrapper): New function. Verifies that one of -D and -r
801            options is present, then runs mcvs-checkout, specifying export
802            behavior.
803    
804    2002-10-12  Kaz Kylheku  <kaz@ashi.footprints.net>
805    
806            * code/mcvs-main.lisp (*update-options*): Added -C option.
807    
808            * code/update.lisp (mcvs-update): Fall back on the mcvs-generic
809            if --metaonly or --nometa is specified to run CVS on specific
810            files.
811    
812    2002-10-12  Kaz Kylheku  <kaz@ashi.footprints.net>
813    
814            * code/filt.lisp (mcvs-filt): Do not filter F- names if
815            immediately preceded by MCVS/ prefix.
816    
817    2002-10-12  Kaz Kylheku  <kaz@ashi.footprints.net>
818    
819            * code/clisp-unix.lisp (execute-program): Provide debug traces
820            for command execution.
821    
822  2002-10-09  Kaz Kylheku  <kaz@ashi.footprints.net>  2002-10-09  Kaz Kylheku  <kaz@ashi.footprints.net>
823    
824          * code/add.lisp (*add-help*): Remove spurious text cut and pasted from          * code/add.lisp (*add-help*): Remove spurious text cut and pasted from
# Line 1144  Line 1965 
1965    
1966          The ``import'' command is renamed to ``create''.          The ``import'' command is renamed to ``create''.
1967    
1968          * mcvs.main (*create-options*): Renamed to *import-options*.          * mcvs-main.lisp (*create-options*): Renamed to *import-options*.
1969          (*mcvs-command-table*): Updated.          (*mcvs-command-table*): Updated.
1970          (*usage*): Updated.          (*usage*): Updated.
1971    

Legend:
Removed from v.1.205  
changed lines
  Added in v.1.205.2.82

  ViewVC Help
Powered by ViewVC 1.1.5