Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to mcvs-0-3:||(view) (annotate)|
Algorithmic efficiency improvements. No longer using abstract set operations to update file structure or find duplicates in the maps. Could still streamline the sorting. * mapping.lisp (mapping-sort): Express more succinctly using key. (mapping-dupe-check): Rewrite using loop over sorted lists. (mapping-difference): New function for computing mapping change. (mapping-update): Modify to use mapping-difference.
* mapping.lisp (mapping-update): When moving files, ensure that the target is unlinked if it exists. * move.lisp (simple-rename): No longer do target unlinking here. Also bugfix: it wasn't handling renames of directories containing just one file.
* checkout.lisp (mcvs-checkout): Checkout also performs sanity check.
* mapping.lisp (mapping-dupe-check): New function for detecting duplicate objects or paths in a mapping. (mapping-sane-p): Function removed. (mapping-read): Use mapping-dupe-check to verify a map when asked by the sanity-check keyword. (mapping-update): Specify sanity check when reading MCVS/MAP.
* mcvs-main.lisp (mcvs): Use CLISP's exit function correctly to establish proper termination status.
* options.lisp (parse-opt): Correctly process long options with arguments. Argument is part of the string, separated by = symbol.
* mcvs-main.lisp (mcvs-execute): Parse command-specific options properly based on knowledge of each command's set of options. (parse-args): Function removed.
* options.lisp (parse-opt): When multiple options characters are bunched up into one argument, and one of them other than the last one takes an argument, then the remaining ones are considered to constitute a string which is an argument to that option. For instance -y32 means -y 32, not -y -3 -2, assuming that y is an option that requires an argument. Top level handler terminates by non-local exit back to mcvs function, rather than by calling (exit). * mcvs-main.lisp (mcvs-top-error-handler): Restructured to call (throw 'mcvs-exit t). (mcvs-execute): Ensure that NIL is returned by normal exit. (mcvs): Catches 'mcvs-exit throw, and calls (exit 0) or (exit 1) accordingly.
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.
* move.lisp (move-guts): test the actual filesystem as well as the map for existence of a directory or file. This makes the move operation behave better. Files can be moved to an existing directory that is not known to MCVS, and a file can properly clobber a target file that is not known to MCVS. * clisp-linux.lisp (directory-p, regular-p, symlink-p): define methods for these generic functions for a NIL argument, such that they return NIL.
* move.lisp (simple-move-to-dir): eliminated a bunch of code with the result that mcvs mv now works more like the Unix mv when moving a directory to another directory. * mcvs-main.lisp (mcvs-execute): fix bogus error message when options are given but no command. * README: don't use -z3 in example because this style of specifying an argument to an option doesn't work.
Add "fi" shorthand for "filt".
* add.lisp (mcvs-add): Remove bogus test for NIL or T; allow recursivep to be a generalized boolean variable. This allows mcvs add -R to work properly. * mcvs-main.lisp (*cvs-command-options-arg*): add support for -u parameter, useful in cvs diff.
Bugfix for mcvs add -R.
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|