Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to mcvs-1-0-7:||(view) (annotate)|
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*.
New command, remote-filt. * code/mcvs-main.lisp (*remote-filt-options*): New option constant. (*mcvs-command-table*): Entries for new command added. (*usage*): Help text added. * code/filt.lisp (filt-select-map): New keyword parameter for specifing repository module. CVS up -p or co -p command generated accordingly. Also, little glitch fixed: the local case descends into the MCVS directory, to avoid a warning message that occurs when CVS is used in server mode. (mcvs-filt-loop): New function, contains most of the old mcvs-filt function body. (mcvs-filt): Calls new mcvs-filt-loop to do actual filtering work. (mcvs-remote-filt, mcvs-remote-filt-wrapper): New functions. * code/clisp-unix.lisp (with-input-from-program): Macro changed to include debug tracing of the invoked command.
Fix broken ``filt -r''. * code/mapping.lisp (mapping-read-raw-map): New function; reads map from stream and does sanity check. (mapping-read): Argument can be a filename or stream. Call to mapping-read-raw-map to factor out common code for both cases. * code/filt.lisp (filt-select-map): This was still just reading the raw structure from the cvs coprocess, which worked under the old map format, when the internal and external representations were the same. Now it calls mapping-read on the stream.
* code/filt.lisp (mcvs-filt): Do not filter F- names if immediately preceded by MCVS/ prefix.
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.
* code/filt.lisp (mcvs-filt): Bugfix: was trying to use NIL as if it were a mapping-entry struct after an unsuccessful gethash.
Merging symlink-branch to main trunk.
* filt.lisp (filt-select-map): Do allow a date and revision to be specified; the revision could be a branch tag.
* mcvs-filt.lisp (filt-select-map): Handle error gracefully when reading map. It's easy to give CVS is a nonexistent tag.
The filt command takes arguments to select alternate revision of map. * mcvs-main.lisp (*filt-options*): New constant. (*mcvs-command-table*): Updated with new options. (mcvs-debug-shell): Restart name changed during debugging of filt changes. * filt.lisp (filt-select-map): New function. Loads either the local mapping, or retrieves an alternate mapping from CVS based on command line options. (mcvs-filt): Use filt-select-map rather than mapping-read.
* filt.lisp (mcvs-filt): Bugfix: do not stop processing line if F- file name is not found in hash table.
Fix mcvs filt so it handles suffixed F- files properly. * filt.lisp (make-filt-hash): New function. (mcvs-filt): After matching hex digits, also check for a suffix match.
Renamed all ``filemap-'' functions to ``mapping-'' prefix. * mapping.lisp (filemap-generate-name, filemap-sort, filemap-extract-paths, filemap-lookup, filemap-prefix-lookup, filemap-prefix-matches, filemap-object-lookup, filemap-same-object-p, filemap-same-path-p, filemap-moved-p, filemap-rename-files, filemap-sane-p): Old names removed. (mapping-generate-name, mapping-sort, mapping-extract-paths, mapping-lookup, mapping-prefix-lookup, mapping-prefix-matches, mapping-object-lookup, mapping-same-object-p, mapping-same-path-p, mapping-moved-p, mapping-rename-files, mapping-sane-p): New names created. (mapping-read, mapping-write, mapping-synchronize, mapping-update): Edit calls to renamed functions. * add.lisp (mcvs-add): Likewise. * diff.lisp (mcvs-diff): Likewise. * filt.lisp (mcvs-filt): Likewise. * import.lisp (mcvs-import): Likewise. * move.lisp (simple-rename, simple-move-to-dir, move-guts): Likewise. * remove.lisp (mcvs-remove): Likewise.
Factored out repeated code for reading and writing of the MAP and MAP-LOCAL files. * mapping.lisp (mapping-read, mapping-write): New functions. (mapping-synchronize, mapping-update): Use new functions. * move.lisp (mcvs-move): Likewise. * filt.lisp (mcvs-filt): Likewise. * add.lisp (mcvs-add): Likewise. * remove.lisp (mcvs-remove): Likewise. * checkout.lisp (mcvs-checkout): Likewise. * diff.lisp (mcvs-diff): Likewise. * import.lisp (mcvs-import): Likewise.
MCVS is being renamed to Meta-CVS.
Document mcvs filt in README file. mcvs-filt only needs to look for upper case A through F hex digits, not a through f.
Added mcvs filt command to decode F- names in text streams.
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|