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

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

  ViewVC Help
Powered by ViewVC 1.1.5