/[meta-cvs]/meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3
ViewVC logotype

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.121 - (hide annotations)
Sat Jun 29 15:35:02 2002 UTC (11 years, 9 months ago) by kaz
Branch: MAIN
Changes since 1.120: +6 -6 lines
Fix wrong dates.
1 kaz 1.121 2002-06-29 Kaz Kylheku <kaz@ashi.footprints.net>
2 kaz 1.120
3     Moving toward sane, user-friendly handling of meta-files.
4     Two new options are added --meta and --metaonly.
5     All reporting commands---diff, log, annotate---default to
6     not including the meta files. The update command remains special.
7     It does not include meta files if given filename arguments.
8     If invoked with no arguments, it does a global CVS up.
9     The commit command defaults to including the meta files.
10     The three options simply override default behavior.
11    
12     * options.lisp (*nometa-option*): Eliminated rid useless docstring.
13     (*meta-option*): New variable.
14     (*nometa-option*): New variable.
15     (filter-global-options): Clean rewrite using find-bind.
16    
17     * generic.lisp (mcvs-generic): New keyword parameters
18     default-include-meta-files, need-update-after. Implements new logic
19     related to the new options. Performs (mapping-update) if
20     need-update-after is true and metafiles were subject to cvs update.
21     (mcvs-commit-wrapper): Calls mcvs-generic with
22     :default-include-meta-files t.
23    
24     * update.lisp (mcvs-update): No longer overrides the *nometa-option*
25     special variable. Passes :need-update-after t to mcvs-generic.
26    
27     * mcvs-main.lisp (*cvs-options*): New options entered into list.
28    
29 kaz 1.121 2002-06-28 Kaz Kylheku <kaz@ashi.footprints.net>
30 kaz 1.114
31 kaz 1.119 * memoize.lisp (memoize-expander): Use ordinary hash for memoizing
32     monadic functions.
33    
34 kaz 1.121 2002-06-28 Kaz Kylheku <kaz@ashi.footprints.net>
35 kaz 1.119
36 kaz 1.117 Word comparisons are case-insensitive in mcvs grab now.
37     Also, common words are determined and eliminated from the correlation.
38     Common words are those that appear in at least 5 of the
39     added or removed files, or 20% of them, whichever is greater.
40    
41     Noticed some unnecessary use of string-lessp on F-file names in
42     mapping.lisp.
43    
44     * grab.lisp (read-word-hash): Use #'equalp test for case-insensitive
45     string comparisons.
46     (added-removed): Use string< instead of string-lessp for comparing
47     paths.
48     (determine-common-words, eliminate-common-words): New functions.
49 kaz 1.118 (move-candidates): Acceptance threshold reduced to 30%, since
50 kaz 1.117 elimination of common words reduces the similarity correlation.
51     (mcvs-grab): Use string< instead of string-lessp when sorting paths.
52     Do the common words computation.
53    
54     * mapping.lisp (mapping-dupe-check, mapping-write,
55     mapping-difference): Use string< instead of string-lessp.
56    
57 kaz 1.121 2002-06-28 Kaz Kylheku <kaz@ashi.footprints.net>
58 kaz 1.117
59 kaz 1.116 * memoize.lisp (factor-memo-labels): New function, rips apart
60     functions generated by memoize-expander, in order to factor
61     out the multi-hash defining let blocks.
62     (memoized-labels): Interface corrected. Also, use new function to
63     generate a labels block that allows for mutually recursive memoized
64     functions which preserve hash contents across arbitrarily mutually
65     recursive calls. This is done by enclosing the functions in one big
66     let block which binds all the hashes.
67    
68 kaz 1.121 2002-06-28 Kaz Kylheku <kaz@ashi.footprints.net>
69 kaz 1.116
70 kaz 1.115 * seqfuncs.lisp (lcs-list): Specify #'eq test for memoization
71     parameters.
72    
73 kaz 1.121 2002-06-28 Kaz Kylheku <kaz@ashi.footprints.net>
74 kaz 1.115
75 kaz 1.114 Adding some cool code: a multi-hash datatype which implements
76     multi-dimensional sparse arrays using a tree of hash tables,
77     and a function memoizer which uses multi hash to index on
78     function arguments.
79    
80     * multi-hash.lisp (multi-hash): New class.
81     (initialize-instance): New method on multi-hash.
82     (multi-hash-common-code): New macro.
83     (get-multi-hash, set-multi-hash): New functions.
84    
85     * memoize.lisp (define-memoized-function,
86     memoized-labels): New macros.
87     (remove-key-aux-rest strip-lambda-list, extract-tests,
88     remove-tests, memoize-expander): New functions.
89    
90     * seqfuncs.lisp (lcs-list): Function is now correctly
91     memoized using define-memoized-function.
92    
93 kaz 1.113 2002-06-26 Kaz Kylheku <kaz@ashi.footprints.net>
94    
95     * grab.lisp (read-word-hash): Memory use optimizations: use smaller
96     initial size for tokens; re-use the same token object when the
97     hash already contains a duplicate.
98     (correlate): Renamed to correlate-word-hashes.
99     (correlate-paths): New function; computes a confidence-reducing
100     factor based on the differences between two paths.
101     (move-candidates): Use correlate-paths to lower the confidence
102     for distant moves. This could help sort out ambiguities when
103     projects contain very similar or duplicate files which are subject
104     to parallel moves.
105    
106     * seqfuncs.lisp (lcs-list, lcs-vector,
107     longest-common-subsequence): New functions.
108    
109 kaz 1.112 2002-06-25 Kaz Kylheku <kaz@ashi.footprints.net>
110    
111     New feature: grab command. Takes snapshot of code and imports
112     it to a branch, trying to determine which of the added and
113     removed files are actually moves.
114    
115     * grab.lisp: New file.
116     (read-word-hash, word-hash-file, correlate, added-removed,
117     move-candidates, mcvs-grab, mcvs-grab-wrapper): New functions.
118    
119     * mcvs-main.lisp (*grab-options*): New constant.
120     (*mcvs-command-table*): New entry.
121     (*usage*): New text.
122    
123     * checkout.lisp (mcvs-checkout): Write out MAP-LOCAL even
124     if :no-generate t is specified.
125    
126 kaz 1.110 2002-06-24 Kaz Kylheku <kaz@ashi.footprints.net>
127    
128 kaz 1.111 * checkout.lisp (mcvs-checkout): New key parameter, no-generate.
129     Tells the checkout function not to unpack the MCVS directory.
130     This will be useful when mcvs-checkout is used as a subfunction
131     of the new grab command. Failed CVS call is now turned into
132     an error. The MCVS subdirectory is *always* deleted, even if the
133     checkout did not create the checkout directory.
134    
135     2002-06-24 Kaz Kylheku <kaz@ashi.footprints.net>
136    
137 kaz 1.110 * dirwalk.lisp (dirwalk-fi): Bugfix: top call was not
138     passing down keyword parameters to recursive call.
139    
140 kaz 1.107 2002-06-23 Kaz Kylheku <kaz@ashi.footprints.net>
141    
142 kaz 1.109 * posix.lisp (canonicalize-path): Use concatenate-string
143     instead of format.
144    
145     2002-06-23 Kaz Kylheku <kaz@ashi.footprints.net>
146    
147 kaz 1.108 * posix.lisp (parse-posix-namestring): Clean rewrite.
148    
149     2002-06-23 Kaz Kylheku <kaz@ashi.footprints.net>
150    
151 kaz 1.107 The ``import'' command is renamed to ``create''.
152    
153     * mcvs.main (*create-options*): Renamed to *import-options*.
154     (*mcvs-command-table*): Updated.
155     (*usage*): Updated.
156    
157     * import.lisp: File renamed to create.lisp.
158     (mcvs-import): Renamed to mcvs-create; some arguments renamed.
159     (mcvs-import-wrapper): Renamed to mcvs-create-wrapper.
160    
161     * README: Updated.
162    
163 kaz 1.104 2002-06-22 Kaz Kylheku <kaz@ashi.footprints.net>
164    
165 kaz 1.106 * split.lisp (split-fields): Optimized to extract tokens directly
166     from the input string using subseq rather than construct them
167     character by character.
168 kaz 1.105
169     2002-06-22 Kaz Kylheku <kaz@ashi.footprints.net>
170    
171 kaz 1.104 * find-bind.lisp (find-bind): Use #'values instead of #'(lambda (x) x).
172    
173 kaz 1.102 2002-06-21 Kaz Kylheku <kaz@ashi.footprints.net>
174    
175 kaz 1.103 * clisp-linux.sh (:clisp-old): Added to *features*
176     for CLISP 2.28 or higher.
177     (*null-pointer*): Only defined when :clisp-old is present.
178     (pointer-null): Use new ffi:foreign-pointer-null if :clisp-old
179     feature is not present.
180    
181     * install.sh: Don't do *null-pointer* workaround hack
182     unless :clisp-old feature is present in the memory image.
183    
184     2002-06-21 Kaz Kylheku <kaz@ashi.footprints.net>
185    
186 kaz 1.102 * types.lisp (types-make-cvs-adds): Serious bugfix. Forgot
187     to strip MCVS/ prefix from those F- files which don't match
188     any type entries. This caused cvs add to fail for unsuffixed
189     files.
190    
191 kaz 1.101 2002-06-08 Kaz Kylheku <kaz@ashi.footprints.net>
192    
193     * types.lisp (types-to-import-wrapper-args): Don't use backquote
194     template to generate a list that will be destructively catenated
195     by mapcan.
196    
197 kaz 1.100 2002-05-22 Kaz Kylheku <kaz@ashi.footprints.net>
198    
199     * checkout.lisp (mcvs-checkout): If a checkout directory is
200     created and then the CVS checkout fails, the directory is
201     then removed.
202    
203 kaz 1.97 2002-05-20 Kaz Kylheku <kaz@ashi.footprints.net>
204    
205 kaz 1.100 * find-bind.lisp (find-bind-extract-vals, find-bind): Process default
206 kaz 1.99 values in find-bind-extract-vals, instead of in the expansion of
207     find-bind, thereby reducing some macro bloat.
208    
209     2002-05-20 Kaz Kylheku <kaz@ashi.footprints.net>
210    
211 kaz 1.98 * remap.lisp (mcvs-remap): Loads MAP as well as MAP-LOCAL.
212     If it the mappings differ, an error is signaled. The user can choose
213     to ignore the error, in which case MAP is clobbered.
214    
215     2002-05-20 Kaz Kylheku <kaz@ashi.footprints.net>
216    
217 kaz 1.97 Adding mcvs remap command.
218    
219     * dirwalk.lisp (dirwalk-fi, dirwalk, for-each-file-info): Default
220     behavior is now preorder (visit directory before its entries).
221     A keyword is provided to select the old postorder behavior.
222     A catch is provided in dirwalk-fi that allows the caller to
223     skip processing the currently traversed directory. The for-each-*
224     macros provide a local function called (skip) to do this.
225     (delete-recursive): This function depends on postorder behavior
226     in for-each-file-info, so it explicitly selects it now.
227    
228     * mcvs.lisp (*remap-options*): New constant.
229     (*mcvs-command-table*): Add entry for new function.
230     (*usage*): Describes new function.
231    
232     * remap.lisp: New file.
233     (mcvs-remap, mcvs-remap-wrapper): New functions.
234    
235 kaz 1.96 2002-05-15 Kaz Kylheku <kaz@ashi.footprints.net>
236    
237     * sync.lisp (synchronize-files): Signal an error when the two files
238     to be synchronized have the same time stamp. Provide two restarts
239     for doing the synchronization either way.
240    
241 kaz 1.95 2002-05-06 Kaz Kylheku <kaz@ashi.footprints.net>
242    
243     * mapping.lisp (in-sandbox-root-dir): Fix symbol macro
244     sandbox-down-path; it was referring to the (quote #:DOWNPATH-NNN)
245     rather than #:DOWNPATH-NNN.
246    
247 kaz 1.93 2002-05-04 Kaz Kylheku <kaz@ashi.footprints.net>
248    
249 kaz 1.94 * import.lisp (mcvs-import): Specify -I ! argument to cvs import
250     so that it does not ignore any F- files.
251    
252     2002-05-04 Kaz Kylheku <kaz@ashi.footprints.net>
253    
254 kaz 1.93 * mapping.lisp (mapping-update): Provide restart that allows
255     user to ignore file removal error.
256    
257 kaz 1.92 2002-04-19 Kaz Kylheku <kaz@ashi.footprints.net>
258    
259     Porting to CMUCL.
260    
261     * system.lisp: Conditionally load new module cmucl-unix.
262    
263     * mapping.lisp (mapping-dupe-check, mapping-write,
264     mapping-difference): Fixes related to sort function; we were
265     relying on CLISP's preservation of the cons cell order.
266    
267     * cmucl-unix.lisp: New file.
268    
269 kaz 1.89 2002-04-17 Kaz Kylheku <kaz@ashi.footprints.net>
270    
271 kaz 1.90 * checkout.lisp (mcvs-checkout): Allow -d to specify current
272     directory as the checkout directory. Do not complain if the
273 kaz 1.91 target directory exists, just try to use it anyway,
274     unless it is the root of an existing Meta-CVS sandbox. Use
275 kaz 1.90 the mapping-update function to update the sandbox.
276     These changes allow a Meta-CVS sandbox to blend with an existing
277     directory structure, a useful feature.
278    
279     2002-04-17 Kaz Kylheku <kaz@ashi.footprints.net>
280    
281 kaz 1.89 * generic.lisp (mcvs-generic): Change how empty file argument list
282     is handled. Rather than rewriting it to '(".") we do a proper
283     map-prefix-lookup. Synchronizing and invoking CVS is elided
284     if the resulting list of files to process is empty and the --nometa
285     option is specified.
286    
287 kaz 1.87 2002-04-16 Kaz Kylheku <kaz@ashi.footprints.net>
288    
289 kaz 1.88 * branch.lisp (parse-sticky): New function.
290     (read-cvs-entries): New function.
291     (same-tag-check): New function.
292     (what-tag-are-we-on): Renamed to what-are-we-sticky-to. Calls
293     parse-sticky to return structured tag.
294     (mcvs-merge): Make use of structured tags.
295     (mcvs-list-branches): Make use of structured tags. Indicate
296     when sandbox is inconsistently sticky.
297    
298     2002-04-16 Kaz Kylheku <kaz@ashi.footprints.net>
299    
300 kaz 1.87 * remove.lisp (mcvs-remove): Corrected careless bracketing
301     introduced on 2002-03-15 that rendered this function ineffective.
302    
303 kaz 1.85 2002-04-04 Kaz Kylheku <kaz@ashi.footprints.net>
304 kaz 1.82
305 kaz 1.86 Absolute paths resolved against sandbox root.
306    
307     * posix.lisp (path-absolute-p): New function. Predicate to
308     test whether a path is absolute.
309    
310     * mapping.lisp (in-sandbox-root-dir): sandbox-translate-paths
311     function detects absolute path, and treats it as relative to
312     sandbox root.
313    
314     2002-04-04 Kaz Kylheku <kaz@ashi.footprints.net>
315    
316 kaz 1.84 New switch command added, plus sticky tag related
317     bugfixes and enhancement of mcvs list-branches.
318    
319     mcvs-main.lisp (*switch-options*): New constant.
320     (*mcvs-command-table*): New entries.
321     (*usage*): New help text.
322    
323     branch.lisp (what-branch-are-we-on): Function renamed to
324     what-tag-are-we-on. Tests the first letter which is T or N; if
325     it is not T, then it's not a branch tag. If there is a tag,
326     it returns two values; the second value is NIL if it is not
327     a branch tag, T otherwise.
328     (mcvs-merge): Modified to use what-tag-are-we-on.
329     (mcvs-list-branches): Show additional information about the
330     current sticky tag.
331     (mcvs-merge-wrapper): Fix wrong parenthesization introduced
332     earlier today.
333     (mcvs-switch-wrapper): New function.
334    
335 kaz 1.85 2002-04-04 Kaz Kylheku <kaz@ashi.footprints.net>
336 kaz 1.84
337 kaz 1.83 * branch.lisp (branch-tag-check): Check reserved symbol HEAD.
338    
339 kaz 1.85 2002-04-04 Kaz Kylheku <kaz@ashi.footprints.net>
340 kaz 1.83
341 kaz 1.82 New command to list branches.
342    
343     * mcvs-main.lisp (*list-branches-options*): New constant.
344     (*mcvs-command-table*): Entries for new command added.
345     (*usage*): Help text added.
346    
347     * branch.lisp (mcvs-list-branches,
348     mcvs-list-branches-wrapper): New functions.
349    
350 kaz 1.80 2002-04-03 Kaz Kylheku <kaz@ashi.footprints.net>
351    
352 kaz 1.81 * branch.lisp (where-is-the-repository): New function.
353     (cvs-make-or-advance-tag): Pass down CVSROOT to cvs rtag using
354     the -d global option.
355    
356     2002-04-03 Kaz Kylheku <kaz@ashi.footprints.net>
357    
358 kaz 1.80 * branch.lisp (what-module-is-this): New function.
359     (cvs-make-or-advance-tag): Use rtag rather than tag for tagging
360     the branch being merged. This fixes the failure to merge added files.
361     (mcvs-merge): Use mcvs-update rather than directly using cvs.
362    
363 kaz 1.78 2002-04-02 Kaz Kylheku <kaz@ashi.footprints.net>
364    
365 kaz 1.79 Implemented remerge command; redo a merge without moving
366     around any tags.
367    
368     * branch.lisp (mcvs-merge): New keyword parameter remerge-p
369     to indicate that a re-merge should be done, plus logic for
370     doing so.
371     (mcvs-remerge-wrapper): New function.
372    
373     * mcvs-main.lisp (*remerge-options*): New constant.
374     (*mcvs-command-table*): New entry for remerge command.
375    
376     2002-04-02 Kaz Kylheku <kaz@ashi.footprints.net>
377    
378 kaz 1.78 First cut at implementing more automated branching and merging.
379    
380     * mcvs-main.lisp (*branch-options*, *merge-options*): New constants.
381     (*mcvs-command-table*): New entries for branch and merge commands.
382     (*usage*): New help text.
383    
384     * branch.lisp: New file.
385     (*branch-char*): New constant.
386     (tags-from-cvs-log, what-branch-are-we-on, branch-tag-check,
387     mcvs-branch, mcvs-branch-wrapper, cvs-make-or-advance-tag, mcvs-merge,
388     mcvs-merge-wrapper): New functions.
389    
390 kaz 1.87 2002-04-01 Kaz Kylheku <kaz@ashi.footprints.net>
391 kaz 1.77
392     checkout.lisp (mcvs-checkout): Emit informational message
393     when checkout completes, because it's not obvious what directory
394     was just created.
395    
396 kaz 1.76 2002-02-38 Kaz Kylheku <kaz@ashi.footprints.net>
397    
398     Error checking added to mcvs move: verifies that all
399     sources exist and are known to Meta-CVS.
400    
401     * move.lisp (source-check): New function.
402     (simple-rename, simple-move-to-dir): Use new function.
403    
404 kaz 1.74 2002-03-20 Kaz Kylheku <kaz@ashi.footprints.net>
405    
406 kaz 1.75 * rcsparse.lisp: File renamed to rcs-utils.lisp.
407     (rcs-delta): New slot, delta-hash.
408     (rcs-make-delta-hash): New function.
409     (rcs-parse): Calls rcs-make-delta-hash to set up new slot.
410    
411     * convert.lisp: require changed to match file rename.
412    
413     2002-03-20 Kaz Kylheku <kaz@ashi.footprints.net>
414    
415 kaz 1.74 Some new macros for slot access.
416    
417     * slot-refs.lisp: New file.
418     (with-slot-refs): New macro.
419     (with-multi-slot-refs): New macro.
420    
421     * rcsparse.lisp (rcs-parse-newphrases, rcs-parse-admin,
422     rcs-parse-delta): Replace uses
423     of symbol-macrolet by with-slot-refs and with-multi-slot-refs.
424    
425 kaz 1.73 2002-03-19 Kaz Kylheku <kaz@ashi.footprints.net>
426    
427     Adding delta parsing to RCS parser.
428    
429     * rcsparse.lisp (rcs-delta): New struct.
430     (rcs-file): New slot, deltas.
431     (rcs-parse-newphrases): New function, factors out parsing of
432     ``newphrases'' syntactic element out of rcs-parse-admin.
433     (rcs-parse-admin): Use rcs-parse-newphrases.
434     (rcs-parse-delta, rcs-parse-deltas): New functions.
435     (rcs-parse): Parse both admin and deltas; store deltas in new
436     rcs-file slot.
437    
438 kaz 1.72 2002-03-18 Kaz Kylheku <kaz@ashi.footprints.net>
439    
440     * posix.lisp (parse-posix-namestring): New function. Converts POSIX
441     path to CL Path object.
442 kaz 1.73
443     * rcsparse.lisp: New file, implements RCS version file parser.
444 kaz 1.72 (rcs-admin, rcs-file, rcs-token, rcs-token-stream): New structs.
445     (rcs-peek-token, rcs-read-token): New generic functions.
446     (rcs-extract-id-sym-or-num, rcs-extract-string,
447     rcs-match-optional, rcs-match-token, rcs-parse, rcs-parse-admin,
448     rcs-special-p): New functions.
449    
450     * convert.lisp (classify-tags): Work with association list rather
451     than raw strings.
452     (mcvs-convert): Use rcs-parse to extract tags. Fix call to
453     mapping-generate name. Use parse-posix-namestring when opening
454     version file. Generate informative chatter.
455    
456 kaz 1.69 2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
457    
458 kaz 1.71 * remove.lisp (mcvs-remove): More detailed error checking.
459     Checks for remove attempts against MCVS/ area, removes of local
460     files not versioned under Meta-CVS, and nonexistent files.
461    
462     2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
463    
464 kaz 1.70 * add.lisp (mcvs-add): Error message changed to tell user to use
465     -R to add directory.
466    
467     * remove.lisp (mcvs-remove): New generalized boolean parameter
468     indicates to do a recursive remove. This is controlled by the
469     -R option which already exists. Behavior changed to not act
470     on directories unless recursion is explicitly requested.
471     (mcvs-remove-wrapper): Extract "R" option, pass down new boolean
472     to mcvs-remove.
473    
474     2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
475    
476 kaz 1.69 * remove.lisp (mcvs-remove-wrapper): Remove bogus error check.
477    
478 kaz 1.66 2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
479    
480 kaz 1.68 * checkout.lisp (mcvs-checkout): Bugfix: must use checkout-dir, not
481     module, when testing whether directory exists or was created properly.
482    
483     2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
484    
485 kaz 1.67 Update takes file arguments now.
486    
487     * update.lisp (mcvs-update): If filename arguments are given, then
488     just call mcvs-generic to do the work, but suppress the operation on
489     meta files. If no filename arguments are given, then update everything.
490     If the -p option is present, no synchronization is needed, before or
491     after.
492     (mcvs-update-wrapper): Pass command arguments down to mcvs-update.
493    
494     * mcvs-main.lisp (*update-options*): Add "p" option.
495    
496     * generic.lisp (mcvs-generic): New keyword parameter need-sync-after,
497     a generalized boolean which can tell the function to do a
498     mapping-synchronize after executing the CVS command.
499    
500     2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
501    
502 kaz 1.66 * filt.lisp (filt-select-map): Do allow a date and revision to be
503     specified; the revision could be a branch tag.
504    
505 kaz 1.62 2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
506    
507 kaz 1.65 * mapping.lisp (malformed-map): New function.
508     (mapping-dupe-check): Perform extra error checks when reading
509     mapping, and turn them into a condition with a ``nice'' error message.
510    
511     2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
512    
513 kaz 1.64 * mcvs-filt.lisp (filt-select-map): Handle error gracefully
514     when reading map. It's easy to give CVS is a nonexistent tag.
515    
516     2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
517    
518 kaz 1.63 The filt command takes arguments to select alternate revision
519     of map.
520    
521     * mcvs-main.lisp (*filt-options*): New constant.
522     (*mcvs-command-table*): Updated with new options.
523     (mcvs-debug-shell): Restart name changed during debugging of filt
524     changes.
525    
526     * filt.lisp (filt-select-map): New function. Loads either the
527     local mapping, or retrieves an alternate mapping from CVS based
528     on command line options.
529     (mcvs-filt): Use filt-select-map rather than mapping-read.
530    
531     2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
532    
533 kaz 1.62 * generic.lisp (mcvs-generic): Add .cvsignore to the list of
534     metafiles.
535    
536 kaz 1.53 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
537    
538 kaz 1.61 * import.lisp (mcvs-import): Create a .cvsignore file for ignoring
539     MAP-LOCAL.
540    
541     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
542    
543 kaz 1.60 Fix trailing slash bug in mcvs mv.
544    
545     * move.lisp (simple-move-to-dir): Canonicalize path after catenating
546     destination and file base name. This nukes a double slash if
547     we move to a name with a trailing slash.
548     (move-guts): Treat a destination name that has a trailing slash
549     as a directory, unless it exists already as a non-directory.
550    
551     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
552    
553 kaz 1.59 * mcvs-main.lisp (*cvs-options*): Added "error-terminate" and
554     "error-continue".
555     (*usage*): Update and reformat help text.
556     (mcvs-execute): Process "error-terminate" and "error-continue"
557     options.
558    
559     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
560    
561 kaz 1.58 * mapping.lisp (mapping-update): Messages related to moving,
562     adding or removing files promoted to terse level, so only -Q
563     can suppress them.
564    
565     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
566    
567 kaz 1.57 * update.lisp (mcvs-update): Changing level of chatter messages.
568     * move.lisp (mcvs-move): Likewise.
569     * add.lisp (mcvs-add): Likewise.
570     * remove.lisp (mcvs-remove): Likewise.
571     * checkout.lisp (mcvs-checkout): Likewise.
572     * generic.lisp (mcvs-generic): Likewise.
573     * import.lisp (mcvs-import): Likewise.
574     * mapping.lisp (mapping-dupe-check): Likewise.
575     (mapping-update): Likewise.
576    
577     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
578    
579 kaz 1.56 Support for -q, -Q and -e global options.
580    
581     * posix.lisp (*editor*): New special variable.
582     (edit-file): Check *editor* variable; if not nil, use it.
583    
584     * mcvs-main.lisp (*usage*): Update help text.
585     (mcvs-execute): Set *mcvs-chatter-level* according to -q or -Q.
586     Set *editor* if -e is specified.
587    
588     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
589    
590 kaz 1.55 * mcvs-main.lisp (*cvs-options*): Remove obsolete "a".
591     (*cvs-options-arg*): Add missing "r".
592     (*usage*): New constant, help text.
593     (mcvs-execute): Process help and version command line options.
594    
595     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
596    
597 kaz 1.54 * options.lisp (parse-opt): Make error messages more consistent.
598    
599     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
600    
601 kaz 1.53 * find-bind.lisp (find-bind): Make rem-var optional; sometimes
602     the user might not care about the remaining unmatched list.
603    
604 kaz 1.49 2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
605    
606 kaz 1.52 * find-bind.lisp (find-bind): Documentation string change. Clarify
607     that default values are substituted whenever a variable would
608     otherwise be bound to the value NIL, even through an explicit
609     match.
610    
611     2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
612    
613 kaz 1.51 Sane filtering of -d option in checkout.
614    
615     * find-bind.lisp (find-bind): Variable bindings can specify
616     a third element, which provides a default value for any variables
617     that turn out NIL.
618    
619     * checkout.lisp (mcvs-checkout): Filter out the -d dir option,
620     and use it to override the name of the checkout directory,
621     the way CVS checkout does it.
622    
623     2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
624    
625 kaz 1.50 Bugfix: mcvs add was not processing existing :ignore's in MCVS/TYPES.
626    
627     * add.lisp (mcvs-add): Use old types as well as new types
628     to filter for ignores.
629    
630     2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
631    
632 kaz 1.49 * find-bind.lisp: New file.
633     (find-bind-extract-vals): New function.
634     (find-bind): New macro.
635    
636     * error.lisp (restart-destructure): Macro removed.
637     (mcvs-error-handler): Uses generic find-bind instead of
638     restart-destructure.
639    
640 kaz 1.43 2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
641    
642 kaz 1.48 * filt.lisp (mcvs-filt): Bugfix: do not stop processing line
643     if F- file name is not found in hash table.
644    
645     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
646    
647 kaz 1.47 Commit is handled through mcvs-generic, so it can take
648     filename arguments, and honor --nometa.
649    
650     * commit.lisp: File removed.
651     (mcvs-commit): Function removed.
652     (mcvs-commit-wrapper): Moved to generic.lisp.
653    
654     * generic.lisp (mcvs-commit-wrapper): Moved from commit.lisp,
655     changed to invoke mcvs-generic.
656     (mcvs-generic): Only add TYPES file to list if it actually
657     exists.
658    
659     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
660    
661 kaz 1.46 New --nometa command line option.
662    
663     * mcvs-main.lisp (*cvs-options*): Add "nometa" to list.
664     (mcvs-execute): Filter global options to recognize
665     Meta-CVS-specific ones.
666    
667     * options.lisp (*nometa-option*): New special variable.
668     (filter-global-options): New function.
669    
670     * generic.lisp (mcvs-generic): Honor *nometa-option* special
671     variable.
672    
673     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
674    
675 kaz 1.45 * generic.lisp (mcvs-generic): Make sure TYPES file is
676     included in list of files.
677    
678     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
679    
680 kaz 1.44 * mcvs-main.lisp (*add-options*): Support -R option for add.
681     Thus, recursive add works now.
682    
683     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
684    
685 kaz 1.43 Fix mcvs filt so it handles suffixed F- files properly.
686    
687     * filt.lisp (make-filt-hash): New function.
688     (mcvs-filt): After matching hex digits, also check for
689     a suffix match.
690    
691 kaz 1.40 2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
692    
693 kaz 1.42 Support for file type keyword treatment under mcvs add.
694    
695     * add.lisp (mcvs-add): Restructured to build up list of new file
696     suffixes, allow the user to edit the file which determines how
697     they are treated, filter out ignored files and pass -k options
698     to multiple cvs adds.
699    
700     * types.lisp (*mcvs-new-types*): New constant.
701     (*types-comments*): Constant moved here from import.lisp.
702     (types-remove-ignores): New function. Code factored out from
703     mcvs-import.
704     (types-let-user-edit): Likewise.
705     (types-make-cvs-adds): New function.
706    
707     * import.lisp (*types-comments*): Constant removed. Moved to
708     types.lisp
709     (mcvs-import): Code factored out to new functions in types.lisp, which
710     are also used by add.lisp.
711    
712     2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
713    
714 kaz 1.41 * print.lisp: New file.
715     (print-assoc-list): New function.
716     * types.lisp: Use print-assoc-list to nicely print the types.
717     * import.lisp (mcvs-import): Don't bother getting user to
718     edit the types if the type list is empty. In fact, don't
719     even create the file.
720    
721     2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
722    
723     * add.lisp (mcvs-add): Use new form of mapping-generate-name.
724    
725     2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
726    
727 kaz 1.40 * import.lisp (mcvs-import): Fix broken restart for re-editing
728     the types file.
729     (*types-comments*): Drastically shorten the help text.
730    
731 kaz 1.38 2002-02-16 Kaz Kylheku <kaz@ashi.footprints.net>
732    
733 kaz 1.39 Support for filetypes in import.
734    
735     * posix.lisp (suffix): Separator character parameter is optional;
736     multiple occurences of character lead to one big suffix like
737     ".tar.gz" instead of ".gz". A leading dot means it's not a suffix but
738     a hidden file like ".exrc".
739     (edit-file): New function, brings up text editor for specified file.
740    
741     * clisp-linux.lisp (env-lookup): New function for environment
742     variable lookup.
743    
744     * types.lisp: New source file.
745     (*mcvs-types-name*, *mcvs-types*): New constants for TYPES filename.
746     (types-read, types-write, types-sanity-check,
747     types-to-import-wrapper-args): New functions.
748    
749     * import.lisp (*types-comments*): New constant.
750     (mcvs-import): Restructured to build up list of file suffixes,
751     allow the user to edit the file which determines how they
752     are treated, filter out ignored files and pass -W options to cvs import
753     to handle the rest. Failed cvs import is turned into restartable
754     condition.
755    
756     * mapping.lisp (mapping-generate-name): Takes a suffix parameter.
757     The F-files now carry a suffix obtained from the original file,
758     because I have concluded that this was the only reasonable way
759     to integrate with CVS.
760    
761     2002-02-16 Kaz Kylheku <kaz@ashi.footprints.net>
762    
763 kaz 1.38 * add.lisp (mcvs-add): Last change completely broke add due
764     to not breaking out of the retry loop.
765    
766 kaz 1.36 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
767    
768 kaz 1.37 * move.lisp (mcvs-move): If the mapping-update operation returns
769     nil, or terminates by a non-local jump, restore the filemap.
770     * mapping.lisp (mapping-update): When returning normally,
771     return t. When returning after doing a rollback, return nil.
772    
773     2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
774    
775 kaz 1.36 * error.lisp (mcvs-error-handler): Bugfix. We were closing over
776     a binding of the iteration variable of a dolist, which has only
777     one binding over the entire loop.
778    
779     * mapping.lisp (mapping-update): Gathers up info all local
780     clobbered files, and then throw the error. Provides restart
781     which allows user to print the list of clobbered files, and
782     a restart which allows the user to have those files clobbered.
783    
784     2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
785    
786     * checkout.lisp (mcvs-checkout-wrapper): Bugfix for last bugfix.
787    
788 kaz 1.35 2002-02-11 Kaz Kylheku <kaz@ashi.footprints.net>
789    
790     * checkout.lisp (mcvs-checkout-wrapper): Bugfix for bad
791     destructuring-bind if there are no arguments.
792    
793 kaz 1.30 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
794    
795 kaz 1.34 * mapping.lisp (mapping-difference): Reformatted documentation string.
796     (mapping-update): Implemented a continue restart which rolls back
797     the changes done to the local filesystem.
798    
799     2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
800    
801 kaz 1.31 * error.lisp (mcvs-error-handler): Rearranging the menu,
802     so "T" is clumped with the main options, and any special restarts
803 kaz 1.32 are clearly separated. Changed wording.
804 kaz 1.31
805     2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
806    
807 kaz 1.30 * update.lisp (mcvs-update): Re-print the "Invoking CVS" chatter
808     if the user re-tries the error.
809    
810     * add.lisp (mcvs-add): CVS failure is now a restartable error;
811 kaz 1.33 user can decide whether to roll back the effects or retry the
812     CVS add, or terminate to keep the effects anyway despite
813     the failed add.
814 kaz 1.30
815     2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
816    
817     * install.sh: Stop the script if there are compilation errors.
818    
819 kaz 1.24 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
820    
821 kaz 1.29 * error.lisp (*mcvs-errors-occured-p*): New special variable.
822     (mcvs-error-handler): Set *mcvs-errors-occured-p* to T.
823     * mcvs-main.lisp (mcvs): Take *mcvs-errors-occured-p* into
824     account in computing termination status.
825    
826     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
827    
828 kaz 1.28 * update.lisp: Remove spurious newlines from error messages.
829     * add.lisp: Likewise.
830     * options.lisp: Likewise.
831     * mapping.lisp: Likewise.
832    
833     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
834    
835 kaz 1.27 Adding some restarts around cvs update.
836    
837     * posix.lisp (execute-command-xargs): Bail with nil return
838     value if any command line fails.
839    
840     * update.lisp (mcvs-update): Tests return value of execute-program
841     and signal condition if it's nil. Provides a continue restart
842     as well as a retry restart to try the command again.
843    
844     * error.lisp (mcvs-error-handler): Show retry restarts as
845     a special menu item "R".
846    
847     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
848    
849 kaz 1.26 Added a much improved error handling routine in anticipation
850     of better use of restarts.
851    
852     * error.lisp: New file
853     (restart-destructure): New macro.
854     (*mcvs-error-treatment*): Special variable, moved here from
855     mcvs-main.
856     (mcvs-error-handler): New function.
857    
858     * mcvs-main.lisp (mcvs-top-error-handler): Function removed.
859     (mcvs-execute): Bind error to new mcvs-error-handler instad
860     of mcvs-top-error-handler.
861    
862     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
863    
864 kaz 1.25 * mcvs-main.lisp (*mcvs-command-table*): The "stat" abbreviation
865     for status command added.
866    
867     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
868    
869 kaz 1.24 Hooking conversion tool into command structure.
870    
871     * mcvs-main.lisp (*convert-options*): New constant.
872     (*mcvs-command-table*): New entry for mcvs-convert-wrapper.
873     * convert.lisp (mcvs-convert): Fix reference to nonexistent variable.
874     (mcvs-convert-wrapper): New function.
875    
876 kaz 1.22 2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
877    
878 kaz 1.23 Beginning work on repository conversion utility.
879    
880     * convert.lisp: New file. Contains conversion utility
881     to make an Meta-CVS repository from an ordinary CVS repository,
882     while preserving all history, tags and branches.
883     (remove-attic-component, classify-tags, read-tags,
884     mcvs-convert): New functions.
885    
886     * posix.lisp (suffix): New function. Computes suffix of file.
887     (execute-program-xargs): New optional parameter, for specifying
888     fixed part added at the end of each generated command line.
889    
890     * mapping.lisp (*mcvs-map-name*, *mcvs-local-map-name*): New constants.
891     (*mcvs-map*, *mcvs-map-local*): Redefined in terms of new constants.
892     (mapping-generate-name): New key parameter no-dir for not adding
893     the directory prefix.
894    
895     2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
896    
897 kaz 1.22 * checkout.lisp (mcvs-checkout): Ensure local mapping is
898     sorted when written out, for easier comparisons.
899    
900 kaz 1.21 2002-02-07 Kaz Kylheku <kaz@ashi.footprints.net>
901    
902     * sync.lisp (synchronize-files): Return :dir symbol when either
903     argument is a directory.
904     * mapping.lisp (mapping-synchronize): Chatter output messages
905     are shorter. Handles :dir return value from synchronize-files.
906     (mapping-update): New sanity checks for moved and added
907     files, to avoid clobbering local files. Removed redundant
908     call to ensure-directories-exit in move logic, because
909     synchronize-files will do it anyway. Chatter messages reordered
910     to occur before their corresponding action is done.
911    
912     2002-02-07 Kaz Kylheku <kaz@ashi.footprints.net>
913    
914     Improve error handling, and builtin ``debug shell''.
915    
916     * mcvs-main.lisp (*mcvs-error-treatment*): Special variable
917     can have new domain value, namely :decline.
918     (mcvs-top-error-handler): Print error message when terminating
919     non-restartable error. Handle new :decline treatment by
920     simply returning.
921     (mcvs-debug-shell): Set *mcvs-error-treatment* to :decline
922     so that errors are caught by debugger.
923    
924 kaz 1.20 2002-02-04 Kaz Kylheku <kaz@ashi.footprints.net>
925    
926     * mapping.lisp (mapping-sort): Removed function.
927     (mapping-write): Sort written map by F- file names,
928     not by path names. This is far better for merging, because
929     files stay in the same place when they are renamed.
930    
931 kaz 1.17 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
932    
933 kaz 1.19 Added status, log and annotate.
934    
935     * mcvs-main.lisp: (*log-options*, *status-options*,
936     *annotate-options*): New constants.
937     (*mcvs-command-table*): Add new entries.
938    
939     * generic-lisp (mcvs-log-wrapper, mcvs-status-wrapper,
940     mcvs-annotate-wrapper): New functions.
941    
942     2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
943    
944 kaz 1.18 Added tag command.
945    
946     * diff.lisp: File renamed to generic.lisp.
947     (mcvs-diff): Function renamed to mcvs-generic.
948    
949     * generic.lisp (mcvs-generic): Function no longer dedicated to
950     diffing only; takes CVS command to execute as an argument,
951     also takes arguments and files as separate lists.
952     (mcvs-diff-wrapper): Modified to invoke mcvs-generic properly.
953     (mcvs-tag-wrapper): New function, uses mcvs-generic to implement
954     tag command.
955    
956     * mcvs-main.lisp (*tag-options*): New constant.
957     (*mcvs-command-table*): New entry for tag command.
958    
959     2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
960    
961 kaz 1.17 Added workaround for operating system argument passing limitations,
962     resembling the Unix xargs utility. Also, trimmed some fat
963     from the basename function.
964    
965     * clisp-linux.lisp: (*argument-limit*): New constant added.
966     (arglist-to-command-string): Function removed.
967     (execute-program): Function removed.
968     (shell-interpreter): New function, wrapper for CLISP's shell
969     function, turns exit status into T (success) or NIL (failure).
970    
971     * diff.lisp (mcvs-diff): Uses execute-program-xargs instead
972     of execute-program.
973    
974     * posix.lisp (basename): Does not canonicalize path name. This
975     turns out to be an unnecessary performance hit in some cases.
976     (arglist-to-command-string): New function. Similar to what was
977     removed from clisp-linux, but this one properly escapes all
978     shell metacharacters.
979     (execute-program): New function, calls shell-interpreter.
980     (execute-program-xargs): New function. Takes two argument lists.
981     Forms one or more command lines by combining the first argument list
982     with one or more pieces of the second argument list, and
983     executes each command. The length of the pieces is determined
984     by the argument passing limit.
985    
986     * dirwalk.lisp (ensure-directories-gone): Add use of
987     canonicalize-path because basename doesn't do it.
988    
989 kaz 1.12 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
990    
991 kaz 1.16 Algorithmic efficiency improvements. No longer using
992     abstract set operations to update file structure or find
993     duplicates in the maps. Could still streamline the sorting.
994    
995     * mapping.lisp (mapping-sort): Express more succinctly using key.
996     (mapping-dupe-check): Rewrite using loop over sorted lists.
997     (mapping-difference): New function for computing mapping change.
998     (mapping-update): Modify to use mapping-difference.
999    
1000     2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
1001    
1002 kaz 1.15 * mapping.lisp (mapping-update): When moving files, ensure
1003     that the target is unlinked if it exists.
1004    
1005     * move.lisp (simple-rename): No longer do target unlinking
1006     here. Also bugfix: it wasn't handling renames of directories
1007     containing just one file.
1008    
1009     2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
1010    
1011 kaz 1.13 * mapping.lisp (mapping-dupe-check): New function for
1012     detecting duplicate objects or paths in a mapping.
1013     (mapping-sane-p): Function removed.
1014     (mapping-read): Use mapping-dupe-check to verify a map
1015     when asked by the sanity-check keyword.
1016     (mapping-update): Specify sanity check when reading MCVS/MAP.
1017    
1018 kaz 1.14 * checkout.lisp (mcvs-checkout): Checkout also performs
1019     sanity check.
1020    
1021 kaz 1.13 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
1022    
1023 kaz 1.12 * mcvs-main.lisp (mcvs): Use CLISP's exit function correctly
1024     to establish proper termination status.
1025    
1026 kaz 1.8 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
1027    
1028 kaz 1.10 * mcvs-main.lisp (mcvs-execute): Parse command-specific options
1029     properly based on knowledge of each command's set of options.
1030     (parse-args): Function removed.
1031    
1032 kaz 1.11 * options.lisp (parse-opt): Correctly process long options with
1033     arguments. Argument is part of the string, separated by = symbol.
1034    
1035 kaz 1.10 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
1036    
1037 kaz 1.9 * options.lisp (parse-opt): When multiple options characters are
1038     bunched up into one argument, and one of them other than the
1039     last one takes an argument, then the remaining ones are
1040     considered to constitute a string which is an argument to that
1041     option. For instance -y32 means -y 32, not -y -3 -2, assuming
1042     that y is an option that requires an argument.
1043    
1044     2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
1045    
1046     Top level handler terminates by non-local exit back to
1047     mcvs function, rather than by calling (exit).
1048    
1049     * mcvs-main.lisp (mcvs-top-error-handler): Restructured
1050     to call (throw 'mcvs-exit t).
1051     (mcvs-execute): Ensure that NIL is returned by normal exit.
1052     (mcvs): Catches 'mcvs-exit throw, and calls (exit 0) or (exit 1)
1053     accordingly.
1054    
1055    
1056     2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
1057    
1058 kaz 1.8 Renamed all ``filemap-'' functions to ``mapping-'' prefix.
1059    
1060     * mapping.lisp (filemap-generate-name, filemap-sort,
1061     filemap-extract-paths, filemap-lookup, filemap-prefix-lookup,
1062     filemap-prefix-matches, filemap-object-lookup,
1063     filemap-same-object-p, filemap-same-path-p, filemap-moved-p,
1064     filemap-rename-files, filemap-sane-p): Old names removed.
1065     (mapping-generate-name, mapping-sort,
1066     mapping-extract-paths, mapping-lookup, mapping-prefix-lookup,
1067     mapping-prefix-matches, mapping-object-lookup,
1068     mapping-same-object-p, mapping-same-path-p, mapping-moved-p,
1069     mapping-rename-files, mapping-sane-p): New names created.
1070     (mapping-read, mapping-write, mapping-synchronize,
1071     mapping-update): Edit calls to renamed functions.
1072     * add.lisp (mcvs-add): Likewise.
1073     * diff.lisp (mcvs-diff): Likewise.
1074     * filt.lisp (mcvs-filt): Likewise.
1075     * import.lisp (mcvs-import): Likewise.
1076     * move.lisp (simple-rename, simple-move-to-dir, move-guts): Likewise.
1077     * remove.lisp (mcvs-remove): Likewise.
1078    
1079 kaz 1.6 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
1080    
1081 kaz 1.7 Factored out repeated code for reading and writing of the MAP and
1082     MAP-LOCAL files.
1083    
1084     * mapping.lisp (mapping-read, mapping-write): New functions.
1085     (mapping-synchronize, mapping-update): Use new functions.
1086     * move.lisp (mcvs-move): Likewise.
1087     * filt.lisp (mcvs-filt): Likewise.
1088     * add.lisp (mcvs-add): Likewise.
1089     * remove.lisp (mcvs-remove): Likewise.
1090     * checkout.lisp (mcvs-checkout): Likewise.
1091     * diff.lisp (mcvs-diff): Likewise.
1092     * import.lisp (mcvs-import): Likewise.
1093    
1094     2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
1095    
1096 kaz 1.6 * filt.lisp (mcvs-filt): use *mcvs-dir* variable instead of
1097     hard coding "MCVS" string.
1098    
1099     2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
1100    
1101     * MCVS-PAPER: Renamed to Meta-CVS-PAPER
1102    
1103     * README: Change all references to MCVS to Meta-CVS, the
1104     new official name of the program.
1105     * add.lisp: Likewise
1106     * chatter.lisp: Likewise
1107     * checkout.lisp: Likewise
1108     * clisp-linux.lisp: Likewise
1109     * commit.lisp: Likewise
1110     * diff.lisp: Likewise
1111     * dirwalk.lisp: Likewise
1112     * filt.lisp: Likewise
1113     * import.lisp: Likewise
1114     * INSTALL: Likewise
1115     * mapping.lisp: Likewise
1116     * mcvs-main.lisp: Likewise
1117     * Meta-CVS-PAPER: Likewise
1118     * move.lisp: Likewise
1119     * options.lisp: Likewise
1120     * posix.lisp: Likewise
1121     * RELEASE-NOTES: Likewise
1122     * remove.lisp: Likewise
1123     * restart.lisp: Likewise
1124     * seqfuncs.lisp: Likewise
1125     * split.lisp: Likewise
1126     * sync.lisp: Likewise
1127     * system.lisp: Likewise
1128     * update.lisp: Likewise
1129    
1130 kaz 1.4 2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
1131    
1132 kaz 1.5 * move.lisp (move-guts): test the actual filesystem as well
1133     as the map for existence of a directory or file. This makes
1134     the move operation behave better. Files can be moved to an
1135     existing directory that is not known to MCVS, and a file
1136     can properly clobber a target file that is not known to MCVS.
1137    
1138     * clisp-linux.lisp (directory-p, regular-p, symlink-p): define
1139     methods for these generic functions for a NIL argument, such
1140     that they return NIL.
1141    
1142     2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
1143    
1144 kaz 1.4 * move.lisp (simple-move-to-dir): eliminated a bunch of code
1145     with the result that mcvs mv now works more like the Unix mv
1146     when moving a directory to another directory.
1147    
1148     * mcvs-main.lisp (mcvs-execute): fix bogus error message
1149     when options are given but no command.
1150    
1151     * README: don't use -z3 in example because this style of
1152     specifying an argument to an option doesn't work.
1153    
1154 kaz 1.1 2002-01-27 Kaz Kylheku <kaz@ashi.footprints.net>
1155    
1156     * add.lisp (mcvs-add): Remove bogus test for NIL or T; allow
1157     recursivep to be a generalized boolean variable. This allows
1158     mcvs add -R to work properly.
1159 kaz 1.2
1160     * mcvs-main.lisp (*cvs-command-options-arg*): add support
1161     for -u parameter, useful in cvs diff.
1162 kaz 1.3 (*mcvs-command-table*): Add "fi" shorthand for "filt".

  ViewVC Help
Powered by ViewVC 1.1.5