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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5