Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to mcvs-1-0-10:||(view) (annotate)|
* 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.
* 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 (*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.
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 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|