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

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

  ViewVC Help
Powered by ViewVC 1.1.5