Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to partial-sandbox-branch~merged-to-HEAD-0:||(view) (annotate)|
* 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|