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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5