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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5