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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.73 - (show annotations)
Tue Mar 19 22:10:56 2002 UTC (12 years, 1 month ago) by kaz
Branch: MAIN
Changes since 1.72: +15 -1 lines
* rcsparse.lisp (rcs-delta): New struct.
(rcs-file): New slot, deltas.
(rcs-parse-newphrases): New function, factors out parsing of
``newphrases'' syntactic element out of rcs-parse-admin.
(rcs-parse-admin): Use rcs-parse-newphrases.
(rcs-parse-delta, rcs-parse-deltas): New functions.
(rcs-parse): Parse both admin and deltas; store deltas in new
rcs-file slot.
1 2002-03-19 Kaz Kylheku <kaz@ashi.footprints.net>
2
3 Adding delta parsing to RCS parser.
4
5 * rcsparse.lisp (rcs-delta): New struct.
6 (rcs-file): New slot, deltas.
7 (rcs-parse-newphrases): New function, factors out parsing of
8 ``newphrases'' syntactic element out of rcs-parse-admin.
9 (rcs-parse-admin): Use rcs-parse-newphrases.
10 (rcs-parse-delta, rcs-parse-deltas): New functions.
11 (rcs-parse): Parse both admin and deltas; store deltas in new
12 rcs-file slot.
13
14 2002-03-18 Kaz Kylheku <kaz@ashi.footprints.net>
15
16 * posix.lisp (parse-posix-namestring): New function. Converts POSIX
17 path to CL Path object.
18
19 * rcsparse.lisp: New file, implements RCS version file parser.
20 (rcs-admin, rcs-file, rcs-token, rcs-token-stream): New structs.
21 (rcs-peek-token, rcs-read-token): New generic functions.
22 (rcs-extract-id-sym-or-num, rcs-extract-string,
23 rcs-match-optional, rcs-match-token, rcs-parse, rcs-parse-admin,
24 rcs-special-p): New functions.
25
26 * convert.lisp (classify-tags): Work with association list rather
27 than raw strings.
28 (mcvs-convert): Use rcs-parse to extract tags. Fix call to
29 mapping-generate name. Use parse-posix-namestring when opening
30 version file. Generate informative chatter.
31
32 2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
33
34 * remove.lisp (mcvs-remove): More detailed error checking.
35 Checks for remove attempts against MCVS/ area, removes of local
36 files not versioned under Meta-CVS, and nonexistent files.
37
38 2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
39
40 * add.lisp (mcvs-add): Error message changed to tell user to use
41 -R to add directory.
42
43 * remove.lisp (mcvs-remove): New generalized boolean parameter
44 indicates to do a recursive remove. This is controlled by the
45 -R option which already exists. Behavior changed to not act
46 on directories unless recursion is explicitly requested.
47 (mcvs-remove-wrapper): Extract "R" option, pass down new boolean
48 to mcvs-remove.
49
50 2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
51
52 * remove.lisp (mcvs-remove-wrapper): Remove bogus error check.
53
54 2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
55
56 * checkout.lisp (mcvs-checkout): Bugfix: must use checkout-dir, not
57 module, when testing whether directory exists or was created properly.
58
59 2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
60
61 Update takes file arguments now.
62
63 * update.lisp (mcvs-update): If filename arguments are given, then
64 just call mcvs-generic to do the work, but suppress the operation on
65 meta files. If no filename arguments are given, then update everything.
66 If the -p option is present, no synchronization is needed, before or
67 after.
68 (mcvs-update-wrapper): Pass command arguments down to mcvs-update.
69
70 * mcvs-main.lisp (*update-options*): Add "p" option.
71
72 * generic.lisp (mcvs-generic): New keyword parameter need-sync-after,
73 a generalized boolean which can tell the function to do a
74 mapping-synchronize after executing the CVS command.
75
76 2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
77
78 * filt.lisp (filt-select-map): Do allow a date and revision to be
79 specified; the revision could be a branch tag.
80
81 2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
82
83 * mapping.lisp (malformed-map): New function.
84 (mapping-dupe-check): Perform extra error checks when reading
85 mapping, and turn them into a condition with a ``nice'' error message.
86
87 2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
88
89 * mcvs-filt.lisp (filt-select-map): Handle error gracefully
90 when reading map. It's easy to give CVS is a nonexistent tag.
91
92 2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
93
94 The filt command takes arguments to select alternate revision
95 of map.
96
97 * mcvs-main.lisp (*filt-options*): New constant.
98 (*mcvs-command-table*): Updated with new options.
99 (mcvs-debug-shell): Restart name changed during debugging of filt
100 changes.
101
102 * filt.lisp (filt-select-map): New function. Loads either the
103 local mapping, or retrieves an alternate mapping from CVS based
104 on command line options.
105 (mcvs-filt): Use filt-select-map rather than mapping-read.
106
107 2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
108
109 * generic.lisp (mcvs-generic): Add .cvsignore to the list of
110 metafiles.
111
112 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
113
114 * import.lisp (mcvs-import): Create a .cvsignore file for ignoring
115 MAP-LOCAL.
116
117 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
118
119 Fix trailing slash bug in mcvs mv.
120
121 * move.lisp (simple-move-to-dir): Canonicalize path after catenating
122 destination and file base name. This nukes a double slash if
123 we move to a name with a trailing slash.
124 (move-guts): Treat a destination name that has a trailing slash
125 as a directory, unless it exists already as a non-directory.
126
127 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
128
129 * mcvs-main.lisp (*cvs-options*): Added "error-terminate" and
130 "error-continue".
131 (*usage*): Update and reformat help text.
132 (mcvs-execute): Process "error-terminate" and "error-continue"
133 options.
134
135 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
136
137 * mapping.lisp (mapping-update): Messages related to moving,
138 adding or removing files promoted to terse level, so only -Q
139 can suppress them.
140
141 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
142
143 * update.lisp (mcvs-update): Changing level of chatter messages.
144 * move.lisp (mcvs-move): Likewise.
145 * add.lisp (mcvs-add): Likewise.
146 * remove.lisp (mcvs-remove): Likewise.
147 * checkout.lisp (mcvs-checkout): Likewise.
148 * generic.lisp (mcvs-generic): Likewise.
149 * import.lisp (mcvs-import): Likewise.
150 * mapping.lisp (mapping-dupe-check): Likewise.
151 (mapping-update): Likewise.
152
153 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
154
155 Support for -q, -Q and -e global options.
156
157 * posix.lisp (*editor*): New special variable.
158 (edit-file): Check *editor* variable; if not nil, use it.
159
160 * mcvs-main.lisp (*usage*): Update help text.
161 (mcvs-execute): Set *mcvs-chatter-level* according to -q or -Q.
162 Set *editor* if -e is specified.
163
164 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
165
166 * mcvs-main.lisp (*cvs-options*): Remove obsolete "a".
167 (*cvs-options-arg*): Add missing "r".
168 (*usage*): New constant, help text.
169 (mcvs-execute): Process help and version command line options.
170
171 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
172
173 * options.lisp (parse-opt): Make error messages more consistent.
174
175 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
176
177 * find-bind.lisp (find-bind): Make rem-var optional; sometimes
178 the user might not care about the remaining unmatched list.
179
180 2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
181
182 * find-bind.lisp (find-bind): Documentation string change. Clarify
183 that default values are substituted whenever a variable would
184 otherwise be bound to the value NIL, even through an explicit
185 match.
186
187 2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
188
189 Sane filtering of -d option in checkout.
190
191 * find-bind.lisp (find-bind): Variable bindings can specify
192 a third element, which provides a default value for any variables
193 that turn out NIL.
194
195 * checkout.lisp (mcvs-checkout): Filter out the -d dir option,
196 and use it to override the name of the checkout directory,
197 the way CVS checkout does it.
198
199 2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
200
201 Bugfix: mcvs add was not processing existing :ignore's in MCVS/TYPES.
202
203 * add.lisp (mcvs-add): Use old types as well as new types
204 to filter for ignores.
205
206 2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
207
208 * find-bind.lisp: New file.
209 (find-bind-extract-vals): New function.
210 (find-bind): New macro.
211
212 * error.lisp (restart-destructure): Macro removed.
213 (mcvs-error-handler): Uses generic find-bind instead of
214 restart-destructure.
215
216 2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
217
218 * filt.lisp (mcvs-filt): Bugfix: do not stop processing line
219 if F- file name is not found in hash table.
220
221 2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
222
223 Commit is handled through mcvs-generic, so it can take
224 filename arguments, and honor --nometa.
225
226 * commit.lisp: File removed.
227 (mcvs-commit): Function removed.
228 (mcvs-commit-wrapper): Moved to generic.lisp.
229
230 * generic.lisp (mcvs-commit-wrapper): Moved from commit.lisp,
231 changed to invoke mcvs-generic.
232 (mcvs-generic): Only add TYPES file to list if it actually
233 exists.
234
235 2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
236
237 New --nometa command line option.
238
239 * mcvs-main.lisp (*cvs-options*): Add "nometa" to list.
240 (mcvs-execute): Filter global options to recognize
241 Meta-CVS-specific ones.
242
243 * options.lisp (*nometa-option*): New special variable.
244 (filter-global-options): New function.
245
246 * generic.lisp (mcvs-generic): Honor *nometa-option* special
247 variable.
248
249 2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
250
251 * generic.lisp (mcvs-generic): Make sure TYPES file is
252 included in list of files.
253
254 2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
255
256 * mcvs-main.lisp (*add-options*): Support -R option for add.
257 Thus, recursive add works now.
258
259 2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
260
261 Fix mcvs filt so it handles suffixed F- files properly.
262
263 * filt.lisp (make-filt-hash): New function.
264 (mcvs-filt): After matching hex digits, also check for
265 a suffix match.
266
267 2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
268
269 Support for file type keyword treatment under mcvs add.
270
271 * add.lisp (mcvs-add): Restructured to build up list of new file
272 suffixes, allow the user to edit the file which determines how
273 they are treated, filter out ignored files and pass -k options
274 to multiple cvs adds.
275
276 * types.lisp (*mcvs-new-types*): New constant.
277 (*types-comments*): Constant moved here from import.lisp.
278 (types-remove-ignores): New function. Code factored out from
279 mcvs-import.
280 (types-let-user-edit): Likewise.
281 (types-make-cvs-adds): New function.
282
283 * import.lisp (*types-comments*): Constant removed. Moved to
284 types.lisp
285 (mcvs-import): Code factored out to new functions in types.lisp, which
286 are also used by add.lisp.
287
288 2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
289
290 * print.lisp: New file.
291 (print-assoc-list): New function.
292 * types.lisp: Use print-assoc-list to nicely print the types.
293 * import.lisp (mcvs-import): Don't bother getting user to
294 edit the types if the type list is empty. In fact, don't
295 even create the file.
296
297 2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
298
299 * add.lisp (mcvs-add): Use new form of mapping-generate-name.
300
301 2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
302
303 * import.lisp (mcvs-import): Fix broken restart for re-editing
304 the types file.
305 (*types-comments*): Drastically shorten the help text.
306
307 2002-02-16 Kaz Kylheku <kaz@ashi.footprints.net>
308
309 Support for filetypes in import.
310
311 * posix.lisp (suffix): Separator character parameter is optional;
312 multiple occurences of character lead to one big suffix like
313 ".tar.gz" instead of ".gz". A leading dot means it's not a suffix but
314 a hidden file like ".exrc".
315 (edit-file): New function, brings up text editor for specified file.
316
317 * clisp-linux.lisp (env-lookup): New function for environment
318 variable lookup.
319
320 * types.lisp: New source file.
321 (*mcvs-types-name*, *mcvs-types*): New constants for TYPES filename.
322 (types-read, types-write, types-sanity-check,
323 types-to-import-wrapper-args): New functions.
324
325 * import.lisp (*types-comments*): New constant.
326 (mcvs-import): Restructured to build up list of file suffixes,
327 allow the user to edit the file which determines how they
328 are treated, filter out ignored files and pass -W options to cvs import
329 to handle the rest. Failed cvs import is turned into restartable
330 condition.
331
332 * mapping.lisp (mapping-generate-name): Takes a suffix parameter.
333 The F-files now carry a suffix obtained from the original file,
334 because I have concluded that this was the only reasonable way
335 to integrate with CVS.
336
337 2002-02-16 Kaz Kylheku <kaz@ashi.footprints.net>
338
339 * add.lisp (mcvs-add): Last change completely broke add due
340 to not breaking out of the retry loop.
341
342 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
343
344 * move.lisp (mcvs-move): If the mapping-update operation returns
345 nil, or terminates by a non-local jump, restore the filemap.
346 * mapping.lisp (mapping-update): When returning normally,
347 return t. When returning after doing a rollback, return nil.
348
349 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
350
351 * error.lisp (mcvs-error-handler): Bugfix. We were closing over
352 a binding of the iteration variable of a dolist, which has only
353 one binding over the entire loop.
354
355 * mapping.lisp (mapping-update): Gathers up info all local
356 clobbered files, and then throw the error. Provides restart
357 which allows user to print the list of clobbered files, and
358 a restart which allows the user to have those files clobbered.
359
360 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
361
362 * checkout.lisp (mcvs-checkout-wrapper): Bugfix for last bugfix.
363
364 2002-02-11 Kaz Kylheku <kaz@ashi.footprints.net>
365
366 * checkout.lisp (mcvs-checkout-wrapper): Bugfix for bad
367 destructuring-bind if there are no arguments.
368
369 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
370
371 * mapping.lisp (mapping-difference): Reformatted documentation string.
372 (mapping-update): Implemented a continue restart which rolls back
373 the changes done to the local filesystem.
374
375 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
376
377 * error.lisp (mcvs-error-handler): Rearranging the menu,
378 so "T" is clumped with the main options, and any special restarts
379 are clearly separated. Changed wording.
380
381 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
382
383 * update.lisp (mcvs-update): Re-print the "Invoking CVS" chatter
384 if the user re-tries the error.
385
386 * add.lisp (mcvs-add): CVS failure is now a restartable error;
387 user can decide whether to roll back the effects or retry the
388 CVS add, or terminate to keep the effects anyway despite
389 the failed add.
390
391 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
392
393 * install.sh: Stop the script if there are compilation errors.
394
395 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
396
397 * error.lisp (*mcvs-errors-occured-p*): New special variable.
398 (mcvs-error-handler): Set *mcvs-errors-occured-p* to T.
399 * mcvs-main.lisp (mcvs): Take *mcvs-errors-occured-p* into
400 account in computing termination status.
401
402 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
403
404 * update.lisp: Remove spurious newlines from error messages.
405 * add.lisp: Likewise.
406 * options.lisp: Likewise.
407 * mapping.lisp: Likewise.
408
409 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
410
411 Adding some restarts around cvs update.
412
413 * posix.lisp (execute-command-xargs): Bail with nil return
414 value if any command line fails.
415
416 * update.lisp (mcvs-update): Tests return value of execute-program
417 and signal condition if it's nil. Provides a continue restart
418 as well as a retry restart to try the command again.
419
420 * error.lisp (mcvs-error-handler): Show retry restarts as
421 a special menu item "R".
422
423 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
424
425 Added a much improved error handling routine in anticipation
426 of better use of restarts.
427
428 * error.lisp: New file
429 (restart-destructure): New macro.
430 (*mcvs-error-treatment*): Special variable, moved here from
431 mcvs-main.
432 (mcvs-error-handler): New function.
433
434 * mcvs-main.lisp (mcvs-top-error-handler): Function removed.
435 (mcvs-execute): Bind error to new mcvs-error-handler instad
436 of mcvs-top-error-handler.
437
438 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
439
440 * mcvs-main.lisp (*mcvs-command-table*): The "stat" abbreviation
441 for status command added.
442
443 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
444
445 Hooking conversion tool into command structure.
446
447 * mcvs-main.lisp (*convert-options*): New constant.
448 (*mcvs-command-table*): New entry for mcvs-convert-wrapper.
449 * convert.lisp (mcvs-convert): Fix reference to nonexistent variable.
450 (mcvs-convert-wrapper): New function.
451
452 2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
453
454 Beginning work on repository conversion utility.
455
456 * convert.lisp: New file. Contains conversion utility
457 to make an Meta-CVS repository from an ordinary CVS repository,
458 while preserving all history, tags and branches.
459 (remove-attic-component, classify-tags, read-tags,
460 mcvs-convert): New functions.
461
462 * posix.lisp (suffix): New function. Computes suffix of file.
463 (execute-program-xargs): New optional parameter, for specifying
464 fixed part added at the end of each generated command line.
465
466 * mapping.lisp (*mcvs-map-name*, *mcvs-local-map-name*): New constants.
467 (*mcvs-map*, *mcvs-map-local*): Redefined in terms of new constants.
468 (mapping-generate-name): New key parameter no-dir for not adding
469 the directory prefix.
470
471 2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
472
473 * checkout.lisp (mcvs-checkout): Ensure local mapping is
474 sorted when written out, for easier comparisons.
475
476 2002-02-07 Kaz Kylheku <kaz@ashi.footprints.net>
477
478 * sync.lisp (synchronize-files): Return :dir symbol when either
479 argument is a directory.
480 * mapping.lisp (mapping-synchronize): Chatter output messages
481 are shorter. Handles :dir return value from synchronize-files.
482 (mapping-update): New sanity checks for moved and added
483 files, to avoid clobbering local files. Removed redundant
484 call to ensure-directories-exit in move logic, because
485 synchronize-files will do it anyway. Chatter messages reordered
486 to occur before their corresponding action is done.
487
488 2002-02-07 Kaz Kylheku <kaz@ashi.footprints.net>
489
490 Improve error handling, and builtin ``debug shell''.
491
492 * mcvs-main.lisp (*mcvs-error-treatment*): Special variable
493 can have new domain value, namely :decline.
494 (mcvs-top-error-handler): Print error message when terminating
495 non-restartable error. Handle new :decline treatment by
496 simply returning.
497 (mcvs-debug-shell): Set *mcvs-error-treatment* to :decline
498 so that errors are caught by debugger.
499
500 2002-02-04 Kaz Kylheku <kaz@ashi.footprints.net>
501
502 * mapping.lisp (mapping-sort): Removed function.
503 (mapping-write): Sort written map by F- file names,
504 not by path names. This is far better for merging, because
505 files stay in the same place when they are renamed.
506
507 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
508
509 Added status, log and annotate.
510
511 * mcvs-main.lisp: (*log-options*, *status-options*,
512 *annotate-options*): New constants.
513 (*mcvs-command-table*): Add new entries.
514
515 * generic-lisp (mcvs-log-wrapper, mcvs-status-wrapper,
516 mcvs-annotate-wrapper): New functions.
517
518 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
519
520 Added tag command.
521
522 * diff.lisp: File renamed to generic.lisp.
523 (mcvs-diff): Function renamed to mcvs-generic.
524
525 * generic.lisp (mcvs-generic): Function no longer dedicated to
526 diffing only; takes CVS command to execute as an argument,
527 also takes arguments and files as separate lists.
528 (mcvs-diff-wrapper): Modified to invoke mcvs-generic properly.
529 (mcvs-tag-wrapper): New function, uses mcvs-generic to implement
530 tag command.
531
532 * mcvs-main.lisp (*tag-options*): New constant.
533 (*mcvs-command-table*): New entry for tag command.
534
535 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
536
537 Added workaround for operating system argument passing limitations,
538 resembling the Unix xargs utility. Also, trimmed some fat
539 from the basename function.
540
541 * clisp-linux.lisp: (*argument-limit*): New constant added.
542 (arglist-to-command-string): Function removed.
543 (execute-program): Function removed.
544 (shell-interpreter): New function, wrapper for CLISP's shell
545 function, turns exit status into T (success) or NIL (failure).
546
547 * diff.lisp (mcvs-diff): Uses execute-program-xargs instead
548 of execute-program.
549
550 * posix.lisp (basename): Does not canonicalize path name. This
551 turns out to be an unnecessary performance hit in some cases.
552 (arglist-to-command-string): New function. Similar to what was
553 removed from clisp-linux, but this one properly escapes all
554 shell metacharacters.
555 (execute-program): New function, calls shell-interpreter.
556 (execute-program-xargs): New function. Takes two argument lists.
557 Forms one or more command lines by combining the first argument list
558 with one or more pieces of the second argument list, and
559 executes each command. The length of the pieces is determined
560 by the argument passing limit.
561
562 * dirwalk.lisp (ensure-directories-gone): Add use of
563 canonicalize-path because basename doesn't do it.
564
565 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
566
567 Algorithmic efficiency improvements. No longer using
568 abstract set operations to update file structure or find
569 duplicates in the maps. Could still streamline the sorting.
570
571 * mapping.lisp (mapping-sort): Express more succinctly using key.
572 (mapping-dupe-check): Rewrite using loop over sorted lists.
573 (mapping-difference): New function for computing mapping change.
574 (mapping-update): Modify to use mapping-difference.
575
576 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
577
578 * mapping.lisp (mapping-update): When moving files, ensure
579 that the target is unlinked if it exists.
580
581 * move.lisp (simple-rename): No longer do target unlinking
582 here. Also bugfix: it wasn't handling renames of directories
583 containing just one file.
584
585 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
586
587 * mapping.lisp (mapping-dupe-check): New function for
588 detecting duplicate objects or paths in a mapping.
589 (mapping-sane-p): Function removed.
590 (mapping-read): Use mapping-dupe-check to verify a map
591 when asked by the sanity-check keyword.
592 (mapping-update): Specify sanity check when reading MCVS/MAP.
593
594 * checkout.lisp (mcvs-checkout): Checkout also performs
595 sanity check.
596
597 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
598
599 * mcvs-main.lisp (mcvs): Use CLISP's exit function correctly
600 to establish proper termination status.
601
602 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
603
604 * mcvs-main.lisp (mcvs-execute): Parse command-specific options
605 properly based on knowledge of each command's set of options.
606 (parse-args): Function removed.
607
608 * options.lisp (parse-opt): Correctly process long options with
609 arguments. Argument is part of the string, separated by = symbol.
610
611 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
612
613 * options.lisp (parse-opt): When multiple options characters are
614 bunched up into one argument, and one of them other than the
615 last one takes an argument, then the remaining ones are
616 considered to constitute a string which is an argument to that
617 option. For instance -y32 means -y 32, not -y -3 -2, assuming
618 that y is an option that requires an argument.
619
620 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
621
622 Top level handler terminates by non-local exit back to
623 mcvs function, rather than by calling (exit).
624
625 * mcvs-main.lisp (mcvs-top-error-handler): Restructured
626 to call (throw 'mcvs-exit t).
627 (mcvs-execute): Ensure that NIL is returned by normal exit.
628 (mcvs): Catches 'mcvs-exit throw, and calls (exit 0) or (exit 1)
629 accordingly.
630
631
632 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
633
634 Renamed all ``filemap-'' functions to ``mapping-'' prefix.
635
636 * mapping.lisp (filemap-generate-name, filemap-sort,
637 filemap-extract-paths, filemap-lookup, filemap-prefix-lookup,
638 filemap-prefix-matches, filemap-object-lookup,
639 filemap-same-object-p, filemap-same-path-p, filemap-moved-p,
640 filemap-rename-files, filemap-sane-p): Old names removed.
641 (mapping-generate-name, mapping-sort,
642 mapping-extract-paths, mapping-lookup, mapping-prefix-lookup,
643 mapping-prefix-matches, mapping-object-lookup,
644 mapping-same-object-p, mapping-same-path-p, mapping-moved-p,
645 mapping-rename-files, mapping-sane-p): New names created.
646 (mapping-read, mapping-write, mapping-synchronize,
647 mapping-update): Edit calls to renamed functions.
648 * add.lisp (mcvs-add): Likewise.
649 * diff.lisp (mcvs-diff): Likewise.
650 * filt.lisp (mcvs-filt): Likewise.
651 * import.lisp (mcvs-import): Likewise.
652 * move.lisp (simple-rename, simple-move-to-dir, move-guts): Likewise.
653 * remove.lisp (mcvs-remove): Likewise.
654
655 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
656
657 Factored out repeated code for reading and writing of the MAP and
658 MAP-LOCAL files.
659
660 * mapping.lisp (mapping-read, mapping-write): New functions.
661 (mapping-synchronize, mapping-update): Use new functions.
662 * move.lisp (mcvs-move): Likewise.
663 * filt.lisp (mcvs-filt): Likewise.
664 * add.lisp (mcvs-add): Likewise.
665 * remove.lisp (mcvs-remove): Likewise.
666 * checkout.lisp (mcvs-checkout): Likewise.
667 * diff.lisp (mcvs-diff): Likewise.
668 * import.lisp (mcvs-import): Likewise.
669
670 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
671
672 * filt.lisp (mcvs-filt): use *mcvs-dir* variable instead of
673 hard coding "MCVS" string.
674
675 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
676
677 * MCVS-PAPER: Renamed to Meta-CVS-PAPER
678
679 * README: Change all references to MCVS to Meta-CVS, the
680 new official name of the program.
681 * add.lisp: Likewise
682 * chatter.lisp: Likewise
683 * checkout.lisp: Likewise
684 * clisp-linux.lisp: Likewise
685 * commit.lisp: Likewise
686 * diff.lisp: Likewise
687 * dirwalk.lisp: Likewise
688 * filt.lisp: Likewise
689 * import.lisp: Likewise
690 * INSTALL: Likewise
691 * mapping.lisp: Likewise
692 * mcvs-main.lisp: Likewise
693 * Meta-CVS-PAPER: Likewise
694 * move.lisp: Likewise
695 * options.lisp: Likewise
696 * posix.lisp: Likewise
697 * RELEASE-NOTES: Likewise
698 * remove.lisp: Likewise
699 * restart.lisp: Likewise
700 * seqfuncs.lisp: Likewise
701 * split.lisp: Likewise
702 * sync.lisp: Likewise
703 * system.lisp: Likewise
704 * update.lisp: Likewise
705
706 2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
707
708 * move.lisp (move-guts): test the actual filesystem as well
709 as the map for existence of a directory or file. This makes
710 the move operation behave better. Files can be moved to an
711 existing directory that is not known to MCVS, and a file
712 can properly clobber a target file that is not known to MCVS.
713
714 * clisp-linux.lisp (directory-p, regular-p, symlink-p): define
715 methods for these generic functions for a NIL argument, such
716 that they return NIL.
717
718 2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
719
720 * move.lisp (simple-move-to-dir): eliminated a bunch of code
721 with the result that mcvs mv now works more like the Unix mv
722 when moving a directory to another directory.
723
724 * mcvs-main.lisp (mcvs-execute): fix bogus error message
725 when options are given but no command.
726
727 * README: don't use -z3 in example because this style of
728 specifying an argument to an option doesn't work.
729
730 2002-01-27 Kaz Kylheku <kaz@ashi.footprints.net>
731
732 * add.lisp (mcvs-add): Remove bogus test for NIL or T; allow
733 recursivep to be a generalized boolean variable. This allows
734 mcvs add -R to work properly.
735
736 * mcvs-main.lisp (*cvs-command-options-arg*): add support
737 for -u parameter, useful in cvs diff.
738 (*mcvs-command-table*): Add "fi" shorthand for "filt".

  ViewVC Help
Powered by ViewVC 1.1.5