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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5