Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to mcvs-1-0-8:||(view) (annotate)|
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/restart.lisp (super-restart-case-expander): New function. (super-restart-case): New macro. * code/create.lisp (mcvs-create): Rewrite a restart-bind construct more succinctly using super-restart-case.
* code/create.lisp (mcvs-create): After the TYPES file is edited, scan the MCVS directory for unexpected files. The intent is to detect text editor backups. If any are found, some interactive error handling lets the user acknowledge their deletion. If they are not deleted, then cvs import will bring them into the repository. This behavior was discovered by Johannes Grødem who suggested that it could be handled.
* code/mcvs-main.lisp (*usage*): Expand tabs to spaces. * code/add.lisp (*add-help*): Likewise. * code/remove.lisp (*remove-help*): Likewise. * code/create.lisp (*create-help*): Likewise.
* code/create.lisp (mcvs-create): Add the DISPLACED filename to the .cvsignore file.
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/mcvs-main.lisp (*checkout-options*): Removed -A and -N options. (*mcvs-command-table*): Added help for checkout and add. * code/checkout.lisp (*checkout-help*): New string constant. * code/add.help (*add-help*): Likewise. * code/create.lisp (*create-help*): Mention interactive file type specification.
Revamped help text.
Implement help text for create command. * code/mcvs-main.lisp (mcvs-help): Fixes. (*mcvs-command-table*): Add *create-help*. * code/create.lisp (*create-help*): New string constant.
Another stupid error. * code/create.lisp (mcvs-create): Fix use to unbound variable file-info which should be fi.
Low level support for versioning executable bit. * code/unix-bindings/unix.lisp (unix-funcs:chmod): New callout function. * code/clisp-unix.lisp (executable-p, make-executable, make-non-executable): New generic functions. (executable-p (file-info), make-executable (file-info), make-executable (string), make-non-executable (file-info), make-non-executable (string)): New methods. * code/add.lisp (mcvs-add): Record whether new file is executable or not, by setting executable slot in mapping-entry. * code/create.lisp (mcvs-create): Likewise. * code/sync.lisp (synchronize-files): New parameter, should-be-executable, tells function which way to set permissions after synchronizing files. * code/mapping.lisp (mapping-entry): New slot, executable. (mapping-entry-parse-attributes): New function, parses new optional property list from :FILE entries in a mapping. (mapping-convert-in): Parse property list that may be present in fourth list element of a :FILE entry. (mapping-convert-out): Write out executable flag as :EXEC property, if true. (mapping-synchronize): Pass executable flag down to synchronize-files.
Merging symlink-branch to main trunk.
* create.lisp (mcvs-create): Take out vendor branch parameter, use "Created-by-Meta-CVS" as the vendor tag. (mcvs-create-wrapper): Take out vendor branch parameter.
The ``import'' command is renamed to ``create''. * mcvs.main (*create-options*): Renamed to *import-options*. (*mcvs-command-table*): Updated. (*usage*): Updated. * import.lisp: File renamed to create.lisp. (mcvs-import): Renamed to mcvs-create; some arguments renamed. (mcvs-import-wrapper): Renamed to mcvs-create-wrapper. * README: Updated.
* import.lisp (mcvs-import): Specify -I ! argument to cvs import so that it does not ignore any F- files.
* import.lisp (mcvs-import): Create a .cvsignore file for ignoring MAP-LOCAL.
* update.lisp (mcvs-update): Changing level of chatter messages. * move.lisp (mcvs-move): Likewise. * add.lisp (mcvs-add): Likewise. * remove.lisp (mcvs-remove): Likewise. * checkout.lisp (mcvs-checkout): Likewise. * generic.lisp (mcvs-generic): Likewise. * import.lisp (mcvs-import): Likewise. * mapping.lisp (mapping-dupe-check): Likewise. (mapping-update): Likewise.
Support for file type keyword treatment under mcvs add. * add.lisp (mcvs-add): Restructured to build up list of new file suffixes, allow the user to edit the file which determines how they are treated, filter out ignored files and pass -k options to multiple cvs adds. * types.lisp (*mcvs-new-types*): New constant. (*types-comments*): Constant moved here from import.lisp. (types-remove-ignores): New function. Code factored out from mcvs-import. (types-let-user-edit): Likewise. (types-make-cvs-adds): New function. * import.lisp (*types-comments*): Constant removed. Moved to types.lisp (mcvs-import): Code factored out to new functions in types.lisp, which are also used by add.lisp.
* print.lisp: New file. (print-assoc-list): New function. * types.lisp: Use print-assoc-list to nicely print the types. * import.lisp (mcvs-import): Don't bother getting user to edit the types if the type list is empty. In fact, don't even create the file. * add.lisp (mcvs-add): Use new form of mapping-generate-name.
* import.lisp (mcvs-import): Fix broken restart for re-editing the types file. (*types-comments*): Drastically shorten the help text.
Support for filetypes in import. * posix.lisp (suffix): Separator character parameter is optional; multiple occurences of character lead to one big suffix like ".tar.gz" instead of ".gz". A leading dot means it's not a suffix but a hidden file like ".exrc". (edit-file): New function, brings up text editor for specified file. * clisp-linux.lisp (env-lookup): New function for environment variable lookup. * types.lisp: New source file. (*mcvs-types-name*, *mcvs-types*): New constants for TYPES filename. (types-read, types-write, types-sanity-check, types-to-import-wrapper-args): New functions. * import.lisp (*types-comments*): New constant. (mcvs-import): Restructured to build up list of file suffixes, allow the user to edit the file which determines how they are treated, filter out ignored files and pass -W options to cvs import to handle the rest. Failed cvs import is turned into restartable condition. * mapping.lisp (mapping-generate-name): Takes a suffix parameter. The F-files now carry a suffix obtained from the original file, because I have concluded that this was the only reasonable way to integrate with CVS.
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.
First cut at pass-through of CVS options.
Format string fixes.
Fixing compiler errors.
Moving closer toward delivery.
Adding all existing source files.
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|