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

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

  ViewVC Help
Powered by ViewVC 1.1.5