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

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

  ViewVC Help
Powered by ViewVC 1.1.5