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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.27 - (hide annotations)
Sun Feb 10 04:39:03 2002 UTC (12 years, 2 months ago) by kaz
Branch: MAIN
Changes since 1.26: +14 -0 lines
Adding some restarts around cvs update.

* posix.lisp (execute-command-xargs): Bail with nil return
value if any command line fails.

* update.lisp (mcvs-update): Tests return value of execute-program
and signal condition if it's nil. Provides a continue restart
as well as a retry restart to try the command again.

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

  ViewVC Help
Powered by ViewVC 1.1.5