Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to asdf-import-branch:||(view) (annotate)|
Getting rid of mcvs- prefixes. * code/package.lisp (defpackage): shadow the merge symbol. * code/purge.lisp (mcvs-purge): renamed to purge (mcvs-purge-wrapper): renamed to purge-wrapper * code/restore.lisp (mcvs-restore): renamed to restore (mcvs-restore-wrapper): renamed to restore-wrapper * code/update.lisp (mcvs-update): renamed to update (mcvs-update-wrapper): renamed to update-wrapper * code/main.lisp (mcvs-help): renamed to help (*mcvs-command-table*): renamed to *command-table* (mcvs-terminate catch): renamed to terminate. * code/execute.lisp (mcvs-execute): renamed to execute * code/move.lisp (mcvs-move): renamed to move (mcvs-move-wrapper): renamed to move-wrapper * code/grab.lisp (mcvs-grab): renamed to grab (mcvs-grab-wrapper): renamed to grab-wrapper * code/prop.lisp (mcvs-prop): renamed to prop (mcvs-prop-wrapper): renamed to prop-wrapper * code/filt.lisp (mcvs-filt-loop): renamed to filt-loop (mcvs-filt): renamed to filt (mcvs-remote-filt): renamed to remote-filt (mcvs-filt-wrapper): renamed to filt-wrapper (mcvs-remote-filt-wrapper): renamed to remote-filt-wrapper * code/branch.lisp (mcvs-branch): renamed to branch (mcvs-branch-wrapper): renamed to branch-wrapper (mcvs-merge): renamed to merge (mcvs-list-branches): renamed to list-branches (mcvs-merge-wrapper): renamed to merge-wrapper (mcvs-remerge-wrapper): renamed to remerge-wrapper (mcvs-list-branches-wrapper): renamed to list-branches-wrapper (mcvs-switch-wrapper): renamed to switch-wrapper * code/link.lisp (mcvs-link): renamed to ln (mcvs-link-wrapper): renamed to link-wrapper * code/watch.lisp (mcvs-watch): renamed to watch (mcvs-watch-wrapper): renamed to watch-wrapper * code/add.lisp (mcvs-add): renamed to add (mcvs-add-wrapper): renamed to add-wrapper * code/remove.lisp (mcvs-remove): renamed to rm (mcvs-remove-wrapper): renamed to remove-wrapper * code/convert.lisp (mcvs-convert): renamed to convert (mcvs-convert-wrapper): renamed to convert-wrapper * code/error.lisp (mcvs-terminate): renamed to terminate (mcvs-error-handler): renamed to error-handler (*mcvs-error-treatment*): renamed to *error-treatment* (*mcvs-errors-occured-p*): renamed to *errors-occured-p* * code/checkout.lisp (mcvs-checkout): renamed to checkout (mcvs-checkout-wrapper): renamed to checkout-wrapper (mcvs-export-wrapper): renamed to export-wrapper * code/generic.lisp (mcvs-generic): renamed to generic (mcvs-commit-wrapper): renamed to commit-wrapper (mcvs-diff-wrapper): renamed to diff-wrapper (mcvs-tag-wrapper): renamed to tag-wrapper (mcvs-log-wrapper): renamed to log-wrapper (mcvs-status-wrapper): renamed to status-wrapper (mcvs-annotate-wrapper): renamed to annotate-wrapper (mcvs-watchers-wrapper): renamed to watchers-wrapper (mcvs-edit-wrapper): renamed to edit-wrapper (mcvs-unedit-wrapper): renamed to unedit-wrapper (mcvs-editors-wrapper): renamed to editors-wrapper (mcvs-sync-to-wrapper): renamed to sync-to-wrapper (mcvs-sync-from-wrapper): renamed to sync-from-wrapper * code/create.lisp (mcvs-create): renamed to create (mcvs-create-wrapper): renamed to create-wrapper * code/remap.lisp (mcvs-remap): renamed to remap (mcvs-remap-wrapper): renamed to remap-wrapper * code/mapping.lisp (mcvs-locate): renamed to locate
Fix for new issue. CLISP now sets up some restarts, which ANSI CL allows. Meta-CVS previously assumed that if there are any restarts visible, they were set up by Meta-CVS itself. The manifestation of this problem is that there is /always/ a menu, even for trivial errors which should just terminate. * code/error.lisp (mcvs-error-handler): Filter the output of compute-restarts to only work with restarts that are named by symbols from the META-CVS package.
Stylistic change. * code/add.lisp: Change in-package calls not to use the all-caps "META-CVS" string string, but rather the :meta-cvs keyword. * code/branch.lisp: Likewise. * code/chatter.lisp: Likewise. * code/checkout.lisp: Likewise. * code/clisp-unix.lisp: Likewise. * code/cmucl-unix.lisp: Likewise. * code/convert.lisp: Likewise. * code/create.lisp: Likewise. * code/dirwalk.lisp: Likewise. * code/error.lisp: Likewise. * code/execute.lisp: Likewise. * code/filt.lisp: Likewise. * code/find-bind.lisp: Likewise. * code/generic.lisp: Likewise. * code/grab.lisp: Likewise. * code/link.lisp: Likewise. * code/main.lisp: Likewise. * code/mapping.lisp: Likewise. * code/memoize.lisp: Likewise. * code/move.lisp: Likewise. * code/multi-hash.lisp: Likewise. * code/options.lisp: Likewise. * code/paths.lisp: Likewise. * code/print.lisp: Likewise. * code/prop.lisp: Likewise. * code/purge.lisp: Likewise. * code/rcs-utils.lisp: Likewise. * code/remap.lisp: Likewise. * code/remove.lisp: Likewise. * code/restart.lisp: Likewise. * code/restore.lisp: Likewise. * code/seqfuncs.lisp: Likewise. * code/slot-refs.lisp: Likewise. * code/split.lisp: Likewise. * code/sync.lisp: Likewise. * code/types.lisp: Likewise. * code/unix.lisp: Likewise. * code/update.lisp: Likewise. * code/watch.lisp: Likewise.
Revamped loading system. Got rid of require/provide in all Lisp source files. * code/mcvs.lisp: New file. Responsible for compiling and loading everything in the right order. * code/mcvs-main.lisp: File renamed to main.lisp. * code/mcvs-package.lisp: File renamed to package.lisp. * code/system.lisp: File removed.
Merging from mcvs-1-0-branch. Improved error handling again in a flash of sanity. The whole idea of ``bail'' as a restart is gone. All code which must perform some complex cleanup action does so as part of normal unwinding. And so termination becomes safe. * code/update.lisp (mcvs-update): Change bail restart to continue. * code/mcvs-main.lisp (*global-options*): Remove "error-bail". (*usage*): Remove description of --error-bail. (mcvs-execute): Bind *mcvs-error-treatment* to :terminate rather than :bail if controlling TTY cannot be opened. * code/move.lisp (mcvs-move): Change "Undoing move" error message to "Undoing changes to map". * code/add.lisp (mcvs-add): Get rid of bail restart; move cleanup code into unwind-protect block. * code/error.lisp (*mcvs-error-treatment*): Touch up docstring. (mcvs-error-handler): Remove anything having to do with :bail. Change description of `T' command to suggest that it is safe. * code/options.lisp (filter-mcvs-options): Remove handling of "error-bail" option. * code/mapping.lisp (mapping-update): Get rid of outermost restart-case, which had just a bail restart. Replace it with unwind-protect block which does exactly the same restoration.
Merging from mcvs-1-0-branch. Improved error handling. Use of tty for user interaction, plus new global option for selecting non-interactive bail behavior. * code/mcvs-main.lisp (*global-options*): add --error-bail option. (*usage*): Describe new option. (mcvs-execute): Dynamically bind *interactive-error-io* variable to a stream formed by opening the controlling tty. Send error message to *error-output* rather than *standard-output*. * code/unix-bindings/unix.lisp (unix-funcs:ctermid): New function, FFI interface to mcvs_ctermid. * code/unix-bindings/wrap.c (mcvs_ctermid): New function. * code/chatter.lisp (chatter): Chatter now goes to *error-output* rather than *standard-output*. * code/error.lisp (*interactive-error-io*): New special variable, holds stream open to controlling tty. (mcvs-terminate): New function. (mcvs-error-handler): Use *interactive-error-io* to print menu and obtain user input. Support the :bail value of *mcvs-error-treatment* Plus some cosmetic changes. * code/options.lisp (filter-mcvs-options): Support --error-bail option. * code/filt.lisp (mcvs-filt-loop): Bugfix, (read-line t ...) should be (read-line *standard-input* ...) because t stands for *terminal-io* rather than *standard-io*, unlike in the format function! * code/rcs-utils.lisp (rcs-read-token): Read from *standard-input* rather than *terminal-io*.
Merging from mcvs-1-0-branch. Slightly redesigned error handling protocol. * code/update.lisp (mcvs-update): Change continue restart to bail. * code/add.lisp (mcvs-add): Likewise. * code/error.lisp (mcvs-error-handler): Specially recognize two additional restart symbols, bail and info. A bail restart performs any rolling back and cleanup and terminates. Continuation is now properly reserved for actions that proceed boldly to finish the job, possibly irretrievably clobbering precious data. The info restart is now a standard way to indicate that more details about the error can be obtained, so this does not have to be represented as a special action with an ad-hoc restart. * code/create.lisp (mcvs-create): Change show restart to info. * code/remap.lisp (mcvs-remap): Change ignore restart to continue. * code/mapping.lisp (mapping-update): Change ignore and do-clobber restarts to continue, and print-clobbers restart to info. Change continue restart to bail.
* code/mcvs-package.lisp: New file, defines META-CVS package. * code/purge.lisp: Put all symbols in new package. * code/restore.lisp: Likewise. * code/paths.lisp: Likewise. * code/install.sh: Likewise. * code/restart.lisp: Likewise. * code/update.lisp: Likewise. * code/move.lisp: Likewise. * code/grab.lisp: Likewise. * code/unix.lisp: Likewise. * code/slot-refs.lisp: Likewise. * code/prop.lisp: Likewise. * code/multi-hash.lisp: Likewise. * code/rcs-utils.lisp: Likewise. * code/branch.lisp: Likewise. * code/find-bind.lisp: Likewise. * code/execute.lisp: Likewise. * code/link.lisp: Likewise. * code/split.lisp: Likewise. * code/watch.lisp: Likewise. * code/clisp-unix.lisp: Likewise. * code/add.lisp: Likewise. * code/chatter.lisp: Likewise. * code/print.lisp: Likewise. * code/types.lisp: Likewise. * code/remove.lisp: Likewise. * code/convert.lisp: Likewise. * code/error.lisp: Likewise. * code/options.lisp: Likewise. * code/dirwalk.lisp: Likewise. * code/checkout.lisp: Likewise. * code/generic.lisp: Likewise. * code/sync.lisp: Likewise. * code/create.lisp: Likewise. * code/memoize.lisp: Likewise. * code/seqfuncs.lisp: Likewise. * code/cmucl-unix.lisp: Likewise. * code/remap.lisp: Likewise. * code/mapping.lisp: Put symbols in new package. Replace use of CLISP specific substring function with subseq. * code/filt.lisp: Likewise. * code/mcvs-main.lisp: Put symbols in new package. The mcvs function is renamed to main. * code/install.sh: Generate mcvs script that uses qualified name of new startup functiont to start the software.
* code/error.lisp (mcvs-error-handler): Simplify roundabout way of printing error message. * code/mapping.lisp (mapping-write): Incorporate the low level error message into the more informative error message.
Error messages no longer specify prefixes like "mcvs:" or "mcvs-remove:". When no restarts are available, the error handler now adds the "mcvs:" prefix when dumping the error text to the standard error stream, and also adds a terminating newline. The inability to write to the MAP file is converted to a more informative error message. New --debug option is supported to set the chatter level to 3.
* find-bind.lisp: New file. (find-bind-extract-vals): New function. (find-bind): New macro. * error.lisp (restart-destructure): Macro removed. (mcvs-error-handler): Uses generic find-bind instead of restart-destructure.
* error.lisp (mcvs-error-handler): Bugfix. We were closing over a binding of the iteration variable of a dolist, which has only one binding over the entire loop. * mapping.lisp (mapping-update): Gathers up info all local clobbered files, and then throw the error. Provides restart which allows user to print the list of clobbered files, and a restart which allows the user to have those files clobbered. * checkout.lisp (mcvs-checkout-wrapper): Bugfix for last bugfix.
Wording change; don't say termination is graceful when it's not clear what that means.
* error.lisp (mcvs-error-handler): Rearranging the menu, so "T" is clumped with the main options, and any special restarts are clearly separated.
* error.lisp (*mcvs-errors-occured-p*): New special variable. (mcvs-error-handler): Set *mcvs-errors-occured-p* to T. * mcvs-main.lisp (mcvs): Take *mcvs-errors-occured-p* into account in computing termination status.
Remove spurious argument from chatter-terse call.
Adding some restarts around cvs update. * posix.lisp (execute-command-xargs): Bail with nil return value if any command line fails. * update.lisp (mcvs-update): Tests return value of execute-program and signal condition if it's nil. Provides a continue restart as well as a retry restart to try the command again. * error.lisp (mcvs-error-handler): Show retry restarts as a special menu item "R".
Added a much improved error handling routine in anticipation of better use of restarts. * error.lisp: New file (restart-destructure): New macro. (*mcvs-error-treatment*): Special variable, moved here from mcvs-main. (mcvs-error-handler): New function. * mcvs-main.lisp (mcvs-top-error-handler): Function removed. (mcvs-execute): Bind error to new mcvs-error-handler instad of mcvs-top-error-handler.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|