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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5