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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.40 - (show annotations)
Mon Feb 18 05:50:42 2002 UTC (12 years, 2 months ago) by kaz
Branch: MAIN
Changes since 1.39: +6 -0 lines
* import.lisp (mcvs-import): Fix broken restart for re-editing
the types file.
(*types-comments*): Drastically shorten the help text.
1 2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
2
3 * import.lisp (mcvs-import): Fix broken restart for re-editing
4 the types file.
5 (*types-comments*): Drastically shorten the help text.
6
7 2002-02-16 Kaz Kylheku <kaz@ashi.footprints.net>
8
9 Support for filetypes in import.
10
11 * posix.lisp (suffix): Separator character parameter is optional;
12 multiple occurences of character lead to one big suffix like
13 ".tar.gz" instead of ".gz". A leading dot means it's not a suffix but
14 a hidden file like ".exrc".
15 (edit-file): New function, brings up text editor for specified file.
16
17 * clisp-linux.lisp (env-lookup): New function for environment
18 variable lookup.
19
20 * types.lisp: New source file.
21 (*mcvs-types-name*, *mcvs-types*): New constants for TYPES filename.
22 (types-read, types-write, types-sanity-check,
23 types-to-import-wrapper-args): New functions.
24
25 * import.lisp (*types-comments*): New constant.
26 (mcvs-import): Restructured to build up list of file suffixes,
27 allow the user to edit the file which determines how they
28 are treated, filter out ignored files and pass -W options to cvs import
29 to handle the rest. Failed cvs import is turned into restartable
30 condition.
31
32 * mapping.lisp (mapping-generate-name): Takes a suffix parameter.
33 The F-files now carry a suffix obtained from the original file,
34 because I have concluded that this was the only reasonable way
35 to integrate with CVS.
36
37 2002-02-16 Kaz Kylheku <kaz@ashi.footprints.net>
38
39 * add.lisp (mcvs-add): Last change completely broke add due
40 to not breaking out of the retry loop.
41
42 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
43
44 * move.lisp (mcvs-move): If the mapping-update operation returns
45 nil, or terminates by a non-local jump, restore the filemap.
46 * mapping.lisp (mapping-update): When returning normally,
47 return t. When returning after doing a rollback, return nil.
48
49 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
50
51 * error.lisp (mcvs-error-handler): Bugfix. We were closing over
52 a binding of the iteration variable of a dolist, which has only
53 one binding over the entire loop.
54
55 * mapping.lisp (mapping-update): Gathers up info all local
56 clobbered files, and then throw the error. Provides restart
57 which allows user to print the list of clobbered files, and
58 a restart which allows the user to have those files clobbered.
59
60 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
61
62 * checkout.lisp (mcvs-checkout-wrapper): Bugfix for last bugfix.
63
64 2002-02-11 Kaz Kylheku <kaz@ashi.footprints.net>
65
66 * checkout.lisp (mcvs-checkout-wrapper): Bugfix for bad
67 destructuring-bind if there are no arguments.
68
69 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
70
71 * mapping.lisp (mapping-difference): Reformatted documentation string.
72 (mapping-update): Implemented a continue restart which rolls back
73 the changes done to the local filesystem.
74
75 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
76
77 * error.lisp (mcvs-error-handler): Rearranging the menu,
78 so "T" is clumped with the main options, and any special restarts
79 are clearly separated. Changed wording.
80
81 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
82
83 * update.lisp (mcvs-update): Re-print the "Invoking CVS" chatter
84 if the user re-tries the error.
85
86 * add.lisp (mcvs-add): CVS failure is now a restartable error;
87 user can decide whether to roll back the effects or retry the
88 CVS add, or terminate to keep the effects anyway despite
89 the failed add.
90
91 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
92
93 * install.sh: Stop the script if there are compilation errors.
94
95 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
96
97 * error.lisp (*mcvs-errors-occured-p*): New special variable.
98 (mcvs-error-handler): Set *mcvs-errors-occured-p* to T.
99 * mcvs-main.lisp (mcvs): Take *mcvs-errors-occured-p* into
100 account in computing termination status.
101
102 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
103
104 * update.lisp: Remove spurious newlines from error messages.
105 * add.lisp: Likewise.
106 * options.lisp: Likewise.
107 * mapping.lisp: Likewise.
108
109 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
110
111 Adding some restarts around cvs update.
112
113 * posix.lisp (execute-command-xargs): Bail with nil return
114 value if any command line fails.
115
116 * update.lisp (mcvs-update): Tests return value of execute-program
117 and signal condition if it's nil. Provides a continue restart
118 as well as a retry restart to try the command again.
119
120 * error.lisp (mcvs-error-handler): Show retry restarts as
121 a special menu item "R".
122
123 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
124
125 Added a much improved error handling routine in anticipation
126 of better use of restarts.
127
128 * error.lisp: New file
129 (restart-destructure): New macro.
130 (*mcvs-error-treatment*): Special variable, moved here from
131 mcvs-main.
132 (mcvs-error-handler): New function.
133
134 * mcvs-main.lisp (mcvs-top-error-handler): Function removed.
135 (mcvs-execute): Bind error to new mcvs-error-handler instad
136 of mcvs-top-error-handler.
137
138 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
139
140 * mcvs-main.lisp (*mcvs-command-table*): The "stat" abbreviation
141 for status command added.
142
143 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
144
145 Hooking conversion tool into command structure.
146
147 * mcvs-main.lisp (*convert-options*): New constant.
148 (*mcvs-command-table*): New entry for mcvs-convert-wrapper.
149 * convert.lisp (mcvs-convert): Fix reference to nonexistent variable.
150 (mcvs-convert-wrapper): New function.
151
152 2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
153
154 Beginning work on repository conversion utility.
155
156 * convert.lisp: New file. Contains conversion utility
157 to make an Meta-CVS repository from an ordinary CVS repository,
158 while preserving all history, tags and branches.
159 (remove-attic-component, classify-tags, read-tags,
160 mcvs-convert): New functions.
161
162 * posix.lisp (suffix): New function. Computes suffix of file.
163 (execute-program-xargs): New optional parameter, for specifying
164 fixed part added at the end of each generated command line.
165
166 * mapping.lisp (*mcvs-map-name*, *mcvs-local-map-name*): New constants.
167 (*mcvs-map*, *mcvs-map-local*): Redefined in terms of new constants.
168 (mapping-generate-name): New key parameter no-dir for not adding
169 the directory prefix.
170
171 2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
172
173 * checkout.lisp (mcvs-checkout): Ensure local mapping is
174 sorted when written out, for easier comparisons.
175
176 2002-02-07 Kaz Kylheku <kaz@ashi.footprints.net>
177
178 * sync.lisp (synchronize-files): Return :dir symbol when either
179 argument is a directory.
180 * mapping.lisp (mapping-synchronize): Chatter output messages
181 are shorter. Handles :dir return value from synchronize-files.
182 (mapping-update): New sanity checks for moved and added
183 files, to avoid clobbering local files. Removed redundant
184 call to ensure-directories-exit in move logic, because
185 synchronize-files will do it anyway. Chatter messages reordered
186 to occur before their corresponding action is done.
187
188 2002-02-07 Kaz Kylheku <kaz@ashi.footprints.net>
189
190 Improve error handling, and builtin ``debug shell''.
191
192 * mcvs-main.lisp (*mcvs-error-treatment*): Special variable
193 can have new domain value, namely :decline.
194 (mcvs-top-error-handler): Print error message when terminating
195 non-restartable error. Handle new :decline treatment by
196 simply returning.
197 (mcvs-debug-shell): Set *mcvs-error-treatment* to :decline
198 so that errors are caught by debugger.
199
200 2002-02-04 Kaz Kylheku <kaz@ashi.footprints.net>
201
202 * mapping.lisp (mapping-sort): Removed function.
203 (mapping-write): Sort written map by F- file names,
204 not by path names. This is far better for merging, because
205 files stay in the same place when they are renamed.
206
207 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
208
209 Added status, log and annotate.
210
211 * mcvs-main.lisp: (*log-options*, *status-options*,
212 *annotate-options*): New constants.
213 (*mcvs-command-table*): Add new entries.
214
215 * generic-lisp (mcvs-log-wrapper, mcvs-status-wrapper,
216 mcvs-annotate-wrapper): New functions.
217
218 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
219
220 Added tag command.
221
222 * diff.lisp: File renamed to generic.lisp.
223 (mcvs-diff): Function renamed to mcvs-generic.
224
225 * generic.lisp (mcvs-generic): Function no longer dedicated to
226 diffing only; takes CVS command to execute as an argument,
227 also takes arguments and files as separate lists.
228 (mcvs-diff-wrapper): Modified to invoke mcvs-generic properly.
229 (mcvs-tag-wrapper): New function, uses mcvs-generic to implement
230 tag command.
231
232 * mcvs-main.lisp (*tag-options*): New constant.
233 (*mcvs-command-table*): New entry for tag command.
234
235 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
236
237 Added workaround for operating system argument passing limitations,
238 resembling the Unix xargs utility. Also, trimmed some fat
239 from the basename function.
240
241 * clisp-linux.lisp: (*argument-limit*): New constant added.
242 (arglist-to-command-string): Function removed.
243 (execute-program): Function removed.
244 (shell-interpreter): New function, wrapper for CLISP's shell
245 function, turns exit status into T (success) or NIL (failure).
246
247 * diff.lisp (mcvs-diff): Uses execute-program-xargs instead
248 of execute-program.
249
250 * posix.lisp (basename): Does not canonicalize path name. This
251 turns out to be an unnecessary performance hit in some cases.
252 (arglist-to-command-string): New function. Similar to what was
253 removed from clisp-linux, but this one properly escapes all
254 shell metacharacters.
255 (execute-program): New function, calls shell-interpreter.
256 (execute-program-xargs): New function. Takes two argument lists.
257 Forms one or more command lines by combining the first argument list
258 with one or more pieces of the second argument list, and
259 executes each command. The length of the pieces is determined
260 by the argument passing limit.
261
262 * dirwalk.lisp (ensure-directories-gone): Add use of
263 canonicalize-path because basename doesn't do it.
264
265 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
266
267 Algorithmic efficiency improvements. No longer using
268 abstract set operations to update file structure or find
269 duplicates in the maps. Could still streamline the sorting.
270
271 * mapping.lisp (mapping-sort): Express more succinctly using key.
272 (mapping-dupe-check): Rewrite using loop over sorted lists.
273 (mapping-difference): New function for computing mapping change.
274 (mapping-update): Modify to use mapping-difference.
275
276 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
277
278 * mapping.lisp (mapping-update): When moving files, ensure
279 that the target is unlinked if it exists.
280
281 * move.lisp (simple-rename): No longer do target unlinking
282 here. Also bugfix: it wasn't handling renames of directories
283 containing just one file.
284
285 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
286
287 * mapping.lisp (mapping-dupe-check): New function for
288 detecting duplicate objects or paths in a mapping.
289 (mapping-sane-p): Function removed.
290 (mapping-read): Use mapping-dupe-check to verify a map
291 when asked by the sanity-check keyword.
292 (mapping-update): Specify sanity check when reading MCVS/MAP.
293
294 * checkout.lisp (mcvs-checkout): Checkout also performs
295 sanity check.
296
297 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
298
299 * mcvs-main.lisp (mcvs): Use CLISP's exit function correctly
300 to establish proper termination status.
301
302 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
303
304 * mcvs-main.lisp (mcvs-execute): Parse command-specific options
305 properly based on knowledge of each command's set of options.
306 (parse-args): Function removed.
307
308 * options.lisp (parse-opt): Correctly process long options with
309 arguments. Argument is part of the string, separated by = symbol.
310
311 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
312
313 * options.lisp (parse-opt): When multiple options characters are
314 bunched up into one argument, and one of them other than the
315 last one takes an argument, then the remaining ones are
316 considered to constitute a string which is an argument to that
317 option. For instance -y32 means -y 32, not -y -3 -2, assuming
318 that y is an option that requires an argument.
319
320 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
321
322 Top level handler terminates by non-local exit back to
323 mcvs function, rather than by calling (exit).
324
325 * mcvs-main.lisp (mcvs-top-error-handler): Restructured
326 to call (throw 'mcvs-exit t).
327 (mcvs-execute): Ensure that NIL is returned by normal exit.
328 (mcvs): Catches 'mcvs-exit throw, and calls (exit 0) or (exit 1)
329 accordingly.
330
331
332 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
333
334 Renamed all ``filemap-'' functions to ``mapping-'' prefix.
335
336 * mapping.lisp (filemap-generate-name, filemap-sort,
337 filemap-extract-paths, filemap-lookup, filemap-prefix-lookup,
338 filemap-prefix-matches, filemap-object-lookup,
339 filemap-same-object-p, filemap-same-path-p, filemap-moved-p,
340 filemap-rename-files, filemap-sane-p): Old names removed.
341 (mapping-generate-name, mapping-sort,
342 mapping-extract-paths, mapping-lookup, mapping-prefix-lookup,
343 mapping-prefix-matches, mapping-object-lookup,
344 mapping-same-object-p, mapping-same-path-p, mapping-moved-p,
345 mapping-rename-files, mapping-sane-p): New names created.
346 (mapping-read, mapping-write, mapping-synchronize,
347 mapping-update): Edit calls to renamed functions.
348 * add.lisp (mcvs-add): Likewise.
349 * diff.lisp (mcvs-diff): Likewise.
350 * filt.lisp (mcvs-filt): Likewise.
351 * import.lisp (mcvs-import): Likewise.
352 * move.lisp (simple-rename, simple-move-to-dir, move-guts): Likewise.
353 * remove.lisp (mcvs-remove): Likewise.
354
355 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
356
357 Factored out repeated code for reading and writing of the MAP and
358 MAP-LOCAL files.
359
360 * mapping.lisp (mapping-read, mapping-write): New functions.
361 (mapping-synchronize, mapping-update): Use new functions.
362 * move.lisp (mcvs-move): Likewise.
363 * filt.lisp (mcvs-filt): Likewise.
364 * add.lisp (mcvs-add): Likewise.
365 * remove.lisp (mcvs-remove): Likewise.
366 * checkout.lisp (mcvs-checkout): Likewise.
367 * diff.lisp (mcvs-diff): Likewise.
368 * import.lisp (mcvs-import): Likewise.
369
370 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
371
372 * filt.lisp (mcvs-filt): use *mcvs-dir* variable instead of
373 hard coding "MCVS" string.
374
375 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
376
377 * MCVS-PAPER: Renamed to Meta-CVS-PAPER
378
379 * README: Change all references to MCVS to Meta-CVS, the
380 new official name of the program.
381 * add.lisp: Likewise
382 * chatter.lisp: Likewise
383 * checkout.lisp: Likewise
384 * clisp-linux.lisp: Likewise
385 * commit.lisp: Likewise
386 * diff.lisp: Likewise
387 * dirwalk.lisp: Likewise
388 * filt.lisp: Likewise
389 * import.lisp: Likewise
390 * INSTALL: Likewise
391 * mapping.lisp: Likewise
392 * mcvs-main.lisp: Likewise
393 * Meta-CVS-PAPER: Likewise
394 * move.lisp: Likewise
395 * options.lisp: Likewise
396 * posix.lisp: Likewise
397 * RELEASE-NOTES: Likewise
398 * remove.lisp: Likewise
399 * restart.lisp: Likewise
400 * seqfuncs.lisp: Likewise
401 * split.lisp: Likewise
402 * sync.lisp: Likewise
403 * system.lisp: Likewise
404 * update.lisp: Likewise
405
406 2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
407
408 * move.lisp (move-guts): test the actual filesystem as well
409 as the map for existence of a directory or file. This makes
410 the move operation behave better. Files can be moved to an
411 existing directory that is not known to MCVS, and a file
412 can properly clobber a target file that is not known to MCVS.
413
414 * clisp-linux.lisp (directory-p, regular-p, symlink-p): define
415 methods for these generic functions for a NIL argument, such
416 that they return NIL.
417
418 2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
419
420 * move.lisp (simple-move-to-dir): eliminated a bunch of code
421 with the result that mcvs mv now works more like the Unix mv
422 when moving a directory to another directory.
423
424 * mcvs-main.lisp (mcvs-execute): fix bogus error message
425 when options are given but no command.
426
427 * README: don't use -z3 in example because this style of
428 specifying an argument to an option doesn't work.
429
430 2002-01-27 Kaz Kylheku <kaz@ashi.footprints.net>
431
432 * add.lisp (mcvs-add): Remove bogus test for NIL or T; allow
433 recursivep to be a generalized boolean variable. This allows
434 mcvs add -R to work properly.
435
436 * mcvs-main.lisp (*cvs-command-options-arg*): add support
437 for -u parameter, useful in cvs diff.
438 (*mcvs-command-table*): Add "fi" shorthand for "filt".

  ViewVC Help
Powered by ViewVC 1.1.5