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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.126 - (show annotations)
Mon Jul 1 20:47:31 2002 UTC (11 years, 9 months ago) by kaz
Branch: MAIN
Changes since 1.125: +11 -0 lines
Adding purge command.

* mcvs-main.lisp (*purge-options*): New constant.
(*mcvs-command-table*): New entry.
(*usage*): Update.

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

  ViewVC Help
Powered by ViewVC 1.1.5