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

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

  ViewVC Help
Powered by ViewVC 1.1.5