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

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

  ViewVC Help
Powered by ViewVC 1.1.5