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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.36 - (show annotations)
Thu Feb 14 02:02:56 2002 UTC (12 years, 2 months ago) by kaz
Branch: MAIN
Changes since 1.35: +15 -0 lines
* error.lisp (mcvs-error-handler): Bugfix. We were closing over
a binding of the iteration variable of a dolist, which has only
one binding over the entire loop.

* mapping.lisp (mapping-update): Gathers up info all local
clobbered files, and then throw the error. Provides restart
which allows user to print the list of clobbered files, and
a restart which allows the user to have those files clobbered.

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

  ViewVC Help
Powered by ViewVC 1.1.5