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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5