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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5