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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5