Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
More renaming to get rid of mcvs- prefix. * code/chatter.lisp (*mcvs-debug*): Renamed to *chatter-debug*. (*mcvs-info*, *mcvs-terse*, *mcvs-silent*): Similarly. (*mcvs-chatter-level*): Renamed to *chatter-level*. * code/unix.lisp (*mcvs-editor*): Renamed to *edit-program*. * code/types.lisp (*mcvs-types-name*): Renamed to *types-file*. (*mcvs-types*): Renamed to *types-path*. (*mcvs-new-types*): Renamed to *types-new-path*. * code/mapping.lisp (*mcvs-dir*): Renamed to *admin-dir*. (*mcvs-map-name*): Renamed to *map-file*. (*mcvs-map-local-name*): Renamed to *map-local-file*. (*mcvs-displaced-name*): Renamed to *displaced-file*. (*mcvs-map*): Renamed to *map-path*. (*mcvs-map-local*): Renamed to *map-local-path*. (*mcvs-displaced*): Renamed to *displaced-path*.
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
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.
* code/grab.lisp (mcvs-grab): Bugfixes to repeated grab over partial sandbox: abstract path instead of real path used for reading new symbolic link targets, and execute permissions.
Merging from mcvs-1-0-branch.
* code/grab.lisp (*grab-help*): Spelling error. * code/system.lisp: Require posix module before clisp-unix, which wants it. * code/clisp-unix.lisp: Don't bother requiring posix, since it comes from system. Require "chatter" rather than "chatter.lisp"; this is why were not getting the compiled version of this module into the images. * code/unix-bindings/unix.lisp: If the CLISP version is newer than 2.31 then set the variables ffi::*output-c-functions* and ffi::*output-c-variables* to get the old translator behavior.
Merging from mcvs-1-0-branch. * code/grab.lisp (read-word-hash): Convert each token to a simple string object. This can save a lot of memory when large numbers of files have to be analyzed.
* code/grab.lisp (read-word-hash): Convert each token to a simple string object. This can save a lot of memory when large numbers of files have to be analyzed.
Fix portability mistakes. * code/grab.lisp (read-word-hash): Use the standard code-char function instead of the int-char CLISP extension. * code/branch.lisp (parse-sticky, mcvs-list-branches): Use the portable subseq function instead of CLISP's ext::substring.
* 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.
Merging from mcvs-1-0-branch. * code/grab.lisp (*grab-help*): Rewritten. * code/checkout.lisp (*export-help*): Formatted for 80 columns.
* code/grab.lisp (*grab-help*): Rewritten. * code/checkout.lisp (*export-help*): Formatted for 80 columns.
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/grab.lisp (mcvs-grab): Inspect the execute permissions of stable and moved files, and update the :EXEC propery of their mapping entries accordingly. In other words, grab changes in execute permissions properly.
* code/mcvs-main.lisp (*mcvs-command-table*): Add *grab-help*. * code/grab.lisp (*grab-help*): New string constant.
Eliminate inappropriate pluralization in messages. * code/grab.lisp (mcvs-grab): Use ~:p to substitute a 's' if the parameter is other than 1. * code/options.lisp (parse-opt): Likewise.
* code/grab.lisp (determine-moved-files): Rename local variable for clarity. (determine-moved-symlinks): Actually compute what symlinks are moved. Takes one more argument, the stable-files list. (mcvs-grab): Fix small destructuring-bind bug in symlink moving code. Also, read the targets of moved symlinks into the map, like it is already done with stable symlinks.
* code/grab.lisp (mcvs-grab): Iterate over stable symlinks, and incorporate changed targets into the mapping. In other words, notice and incorporate retargetted symlinks.
Merging symlink-branch to main trunk.
* code/grab.lisp (move-candidates): Function renamed to determine-moved-files. (determine-moved-symlinks): New function, doesn't do anything yet. (mcvs-grab): Updated to process symlinks and use new mapping-entry structure.
Undoing change to mcvs grab file comparison. It was found to produce some really bad results, like correlating files that have nothing to do with each other. A higher threshold wouldn't help.
* code/grab.lisp (correlate-word-hashes): The rule for computing the correlation changes. The size of the smaller of the two sets is used as the denominator, rather than the size of the union. This produces far better results for files that have grown or shrunk a lot; files are not penalized for growing. More changes to syntax of grab command. Now -A must be specified to do a grab onto main trunk. * code/mcvs-main.lisp (*grab-options*): -A option added. * code/grab.lisp (mcvs-grab): Test for presence of -A option. Check that either -A or -r is present, but not both.
Syntax of grab command changed. The branch is no longer specified as an argument after the module name. Rather, it is specified using the -r option. * code/mcvs-main.lisp (*grab-options*): -r added to list. * code/grab.lisp (mcvs-grab, mcvs-grab-wrapper): Argument syntax change, support -r option.
* code/grab.lisp (mcvs-grab): If there are only added files or only removed files, don't bother scanning any files, since there are no moves to compute.
* grab.lisp (added-removed): Function removed. (mcvs-grab): Use new intersection-difference function instead of added-removed.
Merging from partial-sandbox-branch.
* grab.lisp (mcvs-grab): Bugfix: determination of common words was failing on small file sets because the min function was used instead of the max to compute the threshold.
* grab.lisp (mcvs-grab): Upgraded to work with partial sandbox. Extra parameter added to specify subdirectory. File analysis is only done on visible files. (mcvs-grab-wrapper): Take optional parameter to specify subdirectory.
Start of experimental ``partial sandbox'' work. * mapping.lisp (*mcvs-displaced-name*, *mcvs-displaced*): New constants, hold name of administrative file MCVS/DISPLACED which stores the displaced path prefix. (*displaced-path-prefix*): New special variable, holds displaced path prefix read from MCVS/DISPLACED. (*displaced-path-length*): New special variable, holds length of string stored in *displaced-path-prefix*. (real-path-exists, abstract-to-real-path, real-to-abstract-path): New functions for mapping between actual sandbox path, and the abstract sandbox path stored in the mapping. (in-sandbox-root-dir): Macro modified to read *mcvs-displaced* administrative file, and set up the new special variables. (mapping-synchronize): Only operate on files that are present in the sandbox; i.e. that have real paths corresponding to their abstract paths. Convert to the real path when calling lower level file manipulation functions. (mapping-update): Likewise, but this conversion is not complete. (displaced-path-read, displaced-path-write): New functions for reading and writing MCVS/DISPLACED.
Grab no longer synchronizes to recreate deleted files immediately before blowing them away. * grab.lisp (mcvs-grab): Specify :no-sync t when calling mcvs-remove. * remove.lisp (mcvs-remove): Support new no-sync keyword. This tells mcvs-remove that the files being removed from the mapping, don't exist in the sandbox. So it's not necessary to call mapping-synchronize, and mapping-update can be told via :no-delete-removed t not to try to remove deleted files. * mapping.lisp (mapping-update): New no-delete-removed keyword parameter.
Change similarity threshold to 30%.
* grab.lisp (read-word-hash): Use #'equalp test for case-insensitive string comparisons. (added-removed): Use string< instead of string-lessp for comparing paths. (determine-common-words, eliminate-common-words): New functions. (move-candidates): Acceptance threshold reduced to 50%, since elimination of common words reduces the similarity correlation. (mcvs-grab): Use string< instead of string-lessp when sorting paths. Do the common words computation. * mapping.lisp (mapping-dupe-check, mapping-write, mapping-difference): Use string< instead of string-lessp.
Missing file header added.
* grab.lisp (read-word-hash): Memory use optimizations: use smaller initial size for tokens; re-use the same token object when the hash already contains a duplicate. (correlate): Renamed to correlate-word-hashes. (correlate-paths): New function; computes a confidence-reducing factor based on the differences between two paths. (move-candidates): Use correlate-paths to lower the confidence for distant moves. This could help sort out ambiguities when projects contain very similar or duplicate files which are subject to parallel moves. * seqfuncs.lisp (lcs-list, lcs-vector, longest-common-subsequence): New functions.
New feature: grab command. Takes snapshot of code and imports it to a branch, trying to determine which of the added and removed files are actually moves. * grab.lisp: New file. (read-word-hash, word-hash-file, correlate, added-removed, move-candidates, mcvs-grab, mcvs-grab-wrapper): New functions. * mcvs-main.lisp (*grab-options*): New constant. (*mcvs-command-table*): New entry. (*usage*): New text. * checkout.lisp (mcvs-checkout): Write out MAP-LOCAL even if :no-generate t is specified.
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|