/[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 - (show 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 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
2
3 * 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 * 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 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 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
29
30 * 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 * error.lisp (mcvs-error-handler): Rearranging the menu,
37 so "T" is clumped with the main options, and any special restarts
38 are clearly separated. Changed wording.
39
40 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
41
42 * 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 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
50 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
51
52 * install.sh: Stop the script if there are compilation errors.
53
54 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
55
56 * 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 * 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 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 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 * 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 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 2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
112
113 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 * checkout.lisp (mcvs-checkout): Ensure local mapping is
133 sorted when written out, for easier comparisons.
134
135 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 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 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
167
168 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 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 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 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
225
226 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 * 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 * 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 * checkout.lisp (mcvs-checkout): Checkout also performs
254 sanity check.
255
256 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
257
258 * mcvs-main.lisp (mcvs): Use CLISP's exit function correctly
259 to establish proper termination status.
260
261 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
262
263 * 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 * options.lisp (parse-opt): Correctly process long options with
268 arguments. Argument is part of the string, separated by = symbol.
269
270 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
271
272 * 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 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 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
315
316 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 * 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 2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
366
367 * 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 * 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 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
395 * mcvs-main.lisp (*cvs-command-options-arg*): add support
396 for -u parameter, useful in cvs diff.
397 (*mcvs-command-table*): Add "fi" shorthand for "filt".

  ViewVC Help
Powered by ViewVC 1.1.5