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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.43 - (hide annotations)
Sat Mar 9 23:07:35 2002 UTC (12 years, 1 month ago) by kaz
Branch: MAIN
Changes since 1.42: +8 -0 lines
Fix mcvs filt so it handles suffixed F- files properly.

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

  ViewVC Help
Powered by ViewVC 1.1.5