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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5