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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5