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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.75 - (hide annotations)
Wed Mar 20 19:32:26 2002 UTC (12 years, 1 month ago) by kaz
Branch: MAIN
Changes since 1.74: +9 -0 lines
* rcsparse.lisp: File renamed to rcs-utils.lisp.
(rcs-delta): New slot, delta-hash.
(rcs-make-delta-hash): New function.
(rcs-parse): Calls rcs-make-delta-hash to set up new slot.

* convert.lisp: require changed to match file rename.
1 kaz 1.74 2002-03-20 Kaz Kylheku <kaz@ashi.footprints.net>
2    
3 kaz 1.75 * rcsparse.lisp: File renamed to rcs-utils.lisp.
4     (rcs-delta): New slot, delta-hash.
5     (rcs-make-delta-hash): New function.
6     (rcs-parse): Calls rcs-make-delta-hash to set up new slot.
7    
8     * convert.lisp: require changed to match file rename.
9    
10     2002-03-20 Kaz Kylheku <kaz@ashi.footprints.net>
11    
12 kaz 1.74 Some new macros for slot access.
13    
14     * slot-refs.lisp: New file.
15     (with-slot-refs): New macro.
16     (with-multi-slot-refs): New macro.
17    
18     * rcsparse.lisp (rcs-parse-newphrases, rcs-parse-admin,
19     rcs-parse-delta): Replace uses
20     of symbol-macrolet by with-slot-refs and with-multi-slot-refs.
21    
22 kaz 1.73 2002-03-19 Kaz Kylheku <kaz@ashi.footprints.net>
23    
24     Adding delta parsing to RCS parser.
25    
26     * rcsparse.lisp (rcs-delta): New struct.
27     (rcs-file): New slot, deltas.
28     (rcs-parse-newphrases): New function, factors out parsing of
29     ``newphrases'' syntactic element out of rcs-parse-admin.
30     (rcs-parse-admin): Use rcs-parse-newphrases.
31     (rcs-parse-delta, rcs-parse-deltas): New functions.
32     (rcs-parse): Parse both admin and deltas; store deltas in new
33     rcs-file slot.
34    
35 kaz 1.72 2002-03-18 Kaz Kylheku <kaz@ashi.footprints.net>
36    
37     * posix.lisp (parse-posix-namestring): New function. Converts POSIX
38     path to CL Path object.
39 kaz 1.73
40     * rcsparse.lisp: New file, implements RCS version file parser.
41 kaz 1.72 (rcs-admin, rcs-file, rcs-token, rcs-token-stream): New structs.
42     (rcs-peek-token, rcs-read-token): New generic functions.
43     (rcs-extract-id-sym-or-num, rcs-extract-string,
44     rcs-match-optional, rcs-match-token, rcs-parse, rcs-parse-admin,
45     rcs-special-p): New functions.
46    
47     * convert.lisp (classify-tags): Work with association list rather
48     than raw strings.
49     (mcvs-convert): Use rcs-parse to extract tags. Fix call to
50     mapping-generate name. Use parse-posix-namestring when opening
51     version file. Generate informative chatter.
52    
53 kaz 1.69 2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
54    
55 kaz 1.71 * remove.lisp (mcvs-remove): More detailed error checking.
56     Checks for remove attempts against MCVS/ area, removes of local
57     files not versioned under Meta-CVS, and nonexistent files.
58    
59     2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
60    
61 kaz 1.70 * add.lisp (mcvs-add): Error message changed to tell user to use
62     -R to add directory.
63    
64     * remove.lisp (mcvs-remove): New generalized boolean parameter
65     indicates to do a recursive remove. This is controlled by the
66     -R option which already exists. Behavior changed to not act
67     on directories unless recursion is explicitly requested.
68     (mcvs-remove-wrapper): Extract "R" option, pass down new boolean
69     to mcvs-remove.
70    
71     2002-03-15 Kaz Kylheku <kaz@ashi.footprints.net>
72    
73 kaz 1.69 * remove.lisp (mcvs-remove-wrapper): Remove bogus error check.
74    
75 kaz 1.66 2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
76    
77 kaz 1.68 * checkout.lisp (mcvs-checkout): Bugfix: must use checkout-dir, not
78     module, when testing whether directory exists or was created properly.
79    
80     2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
81    
82 kaz 1.67 Update takes file arguments now.
83    
84     * update.lisp (mcvs-update): If filename arguments are given, then
85     just call mcvs-generic to do the work, but suppress the operation on
86     meta files. If no filename arguments are given, then update everything.
87     If the -p option is present, no synchronization is needed, before or
88     after.
89     (mcvs-update-wrapper): Pass command arguments down to mcvs-update.
90    
91     * mcvs-main.lisp (*update-options*): Add "p" option.
92    
93     * generic.lisp (mcvs-generic): New keyword parameter need-sync-after,
94     a generalized boolean which can tell the function to do a
95     mapping-synchronize after executing the CVS command.
96    
97     2002-03-14 Kaz Kylheku <kaz@ashi.footprints.net>
98    
99 kaz 1.66 * filt.lisp (filt-select-map): Do allow a date and revision to be
100     specified; the revision could be a branch tag.
101    
102 kaz 1.62 2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
103    
104 kaz 1.65 * mapping.lisp (malformed-map): New function.
105     (mapping-dupe-check): Perform extra error checks when reading
106     mapping, and turn them into a condition with a ``nice'' error message.
107    
108     2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
109    
110 kaz 1.64 * mcvs-filt.lisp (filt-select-map): Handle error gracefully
111     when reading map. It's easy to give CVS is a nonexistent tag.
112    
113     2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
114    
115 kaz 1.63 The filt command takes arguments to select alternate revision
116     of map.
117    
118     * mcvs-main.lisp (*filt-options*): New constant.
119     (*mcvs-command-table*): Updated with new options.
120     (mcvs-debug-shell): Restart name changed during debugging of filt
121     changes.
122    
123     * filt.lisp (filt-select-map): New function. Loads either the
124     local mapping, or retrieves an alternate mapping from CVS based
125     on command line options.
126     (mcvs-filt): Use filt-select-map rather than mapping-read.
127    
128     2002-03-13 Kaz Kylheku <kaz@ashi.footprints.net>
129    
130 kaz 1.62 * generic.lisp (mcvs-generic): Add .cvsignore to the list of
131     metafiles.
132    
133 kaz 1.53 2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
134    
135 kaz 1.61 * import.lisp (mcvs-import): Create a .cvsignore file for ignoring
136     MAP-LOCAL.
137    
138     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
139    
140 kaz 1.60 Fix trailing slash bug in mcvs mv.
141    
142     * move.lisp (simple-move-to-dir): Canonicalize path after catenating
143     destination and file base name. This nukes a double slash if
144     we move to a name with a trailing slash.
145     (move-guts): Treat a destination name that has a trailing slash
146     as a directory, unless it exists already as a non-directory.
147    
148     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
149    
150 kaz 1.59 * mcvs-main.lisp (*cvs-options*): Added "error-terminate" and
151     "error-continue".
152     (*usage*): Update and reformat help text.
153     (mcvs-execute): Process "error-terminate" and "error-continue"
154     options.
155    
156     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
157    
158 kaz 1.58 * mapping.lisp (mapping-update): Messages related to moving,
159     adding or removing files promoted to terse level, so only -Q
160     can suppress them.
161    
162     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
163    
164 kaz 1.57 * update.lisp (mcvs-update): Changing level of chatter messages.
165     * move.lisp (mcvs-move): Likewise.
166     * add.lisp (mcvs-add): Likewise.
167     * remove.lisp (mcvs-remove): Likewise.
168     * checkout.lisp (mcvs-checkout): Likewise.
169     * generic.lisp (mcvs-generic): Likewise.
170     * import.lisp (mcvs-import): Likewise.
171     * mapping.lisp (mapping-dupe-check): Likewise.
172     (mapping-update): Likewise.
173    
174     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
175    
176 kaz 1.56 Support for -q, -Q and -e global options.
177    
178     * posix.lisp (*editor*): New special variable.
179     (edit-file): Check *editor* variable; if not nil, use it.
180    
181     * mcvs-main.lisp (*usage*): Update help text.
182     (mcvs-execute): Set *mcvs-chatter-level* according to -q or -Q.
183     Set *editor* if -e is specified.
184    
185     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
186    
187 kaz 1.55 * mcvs-main.lisp (*cvs-options*): Remove obsolete "a".
188     (*cvs-options-arg*): Add missing "r".
189     (*usage*): New constant, help text.
190     (mcvs-execute): Process help and version command line options.
191    
192     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
193    
194 kaz 1.54 * options.lisp (parse-opt): Make error messages more consistent.
195    
196     2002-03-12 Kaz Kylheku <kaz@ashi.footprints.net>
197    
198 kaz 1.53 * find-bind.lisp (find-bind): Make rem-var optional; sometimes
199     the user might not care about the remaining unmatched list.
200    
201 kaz 1.49 2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
202    
203 kaz 1.52 * find-bind.lisp (find-bind): Documentation string change. Clarify
204     that default values are substituted whenever a variable would
205     otherwise be bound to the value NIL, even through an explicit
206     match.
207    
208     2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
209    
210 kaz 1.51 Sane filtering of -d option in checkout.
211    
212     * find-bind.lisp (find-bind): Variable bindings can specify
213     a third element, which provides a default value for any variables
214     that turn out NIL.
215    
216     * checkout.lisp (mcvs-checkout): Filter out the -d dir option,
217     and use it to override the name of the checkout directory,
218     the way CVS checkout does it.
219    
220     2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
221    
222 kaz 1.50 Bugfix: mcvs add was not processing existing :ignore's in MCVS/TYPES.
223    
224     * add.lisp (mcvs-add): Use old types as well as new types
225     to filter for ignores.
226    
227     2002-03-11 Kaz Kylheku <kaz@ashi.footprints.net>
228    
229 kaz 1.49 * find-bind.lisp: New file.
230     (find-bind-extract-vals): New function.
231     (find-bind): New macro.
232    
233     * error.lisp (restart-destructure): Macro removed.
234     (mcvs-error-handler): Uses generic find-bind instead of
235     restart-destructure.
236    
237 kaz 1.43 2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
238    
239 kaz 1.48 * filt.lisp (mcvs-filt): Bugfix: do not stop processing line
240     if F- file name is not found in hash table.
241    
242     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
243    
244 kaz 1.47 Commit is handled through mcvs-generic, so it can take
245     filename arguments, and honor --nometa.
246    
247     * commit.lisp: File removed.
248     (mcvs-commit): Function removed.
249     (mcvs-commit-wrapper): Moved to generic.lisp.
250    
251     * generic.lisp (mcvs-commit-wrapper): Moved from commit.lisp,
252     changed to invoke mcvs-generic.
253     (mcvs-generic): Only add TYPES file to list if it actually
254     exists.
255    
256     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
257    
258 kaz 1.46 New --nometa command line option.
259    
260     * mcvs-main.lisp (*cvs-options*): Add "nometa" to list.
261     (mcvs-execute): Filter global options to recognize
262     Meta-CVS-specific ones.
263    
264     * options.lisp (*nometa-option*): New special variable.
265     (filter-global-options): New function.
266    
267     * generic.lisp (mcvs-generic): Honor *nometa-option* special
268     variable.
269    
270     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
271    
272 kaz 1.45 * generic.lisp (mcvs-generic): Make sure TYPES file is
273     included in list of files.
274    
275     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
276    
277 kaz 1.44 * mcvs-main.lisp (*add-options*): Support -R option for add.
278     Thus, recursive add works now.
279    
280     2002-03-09 Kaz Kylheku <kaz@ashi.footprints.net>
281    
282 kaz 1.43 Fix mcvs filt so it handles suffixed F- files properly.
283    
284     * filt.lisp (make-filt-hash): New function.
285     (mcvs-filt): After matching hex digits, also check for
286     a suffix match.
287    
288 kaz 1.40 2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
289    
290 kaz 1.42 Support for file type keyword treatment under mcvs add.
291    
292     * add.lisp (mcvs-add): Restructured to build up list of new file
293     suffixes, allow the user to edit the file which determines how
294     they are treated, filter out ignored files and pass -k options
295     to multiple cvs adds.
296    
297     * types.lisp (*mcvs-new-types*): New constant.
298     (*types-comments*): Constant moved here from import.lisp.
299     (types-remove-ignores): New function. Code factored out from
300     mcvs-import.
301     (types-let-user-edit): Likewise.
302     (types-make-cvs-adds): New function.
303    
304     * import.lisp (*types-comments*): Constant removed. Moved to
305     types.lisp
306     (mcvs-import): Code factored out to new functions in types.lisp, which
307     are also used by add.lisp.
308    
309     2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
310    
311 kaz 1.41 * print.lisp: New file.
312     (print-assoc-list): New function.
313     * types.lisp: Use print-assoc-list to nicely print the types.
314     * import.lisp (mcvs-import): Don't bother getting user to
315     edit the types if the type list is empty. In fact, don't
316     even create the file.
317    
318     2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
319    
320     * add.lisp (mcvs-add): Use new form of mapping-generate-name.
321    
322     2002-02-17 Kaz Kylheku <kaz@ashi.footprints.net>
323    
324 kaz 1.40 * import.lisp (mcvs-import): Fix broken restart for re-editing
325     the types file.
326     (*types-comments*): Drastically shorten the help text.
327    
328 kaz 1.38 2002-02-16 Kaz Kylheku <kaz@ashi.footprints.net>
329    
330 kaz 1.39 Support for filetypes in import.
331    
332     * posix.lisp (suffix): Separator character parameter is optional;
333     multiple occurences of character lead to one big suffix like
334     ".tar.gz" instead of ".gz". A leading dot means it's not a suffix but
335     a hidden file like ".exrc".
336     (edit-file): New function, brings up text editor for specified file.
337    
338     * clisp-linux.lisp (env-lookup): New function for environment
339     variable lookup.
340    
341     * types.lisp: New source file.
342     (*mcvs-types-name*, *mcvs-types*): New constants for TYPES filename.
343     (types-read, types-write, types-sanity-check,
344     types-to-import-wrapper-args): New functions.
345    
346     * import.lisp (*types-comments*): New constant.
347     (mcvs-import): Restructured to build up list of file suffixes,
348     allow the user to edit the file which determines how they
349     are treated, filter out ignored files and pass -W options to cvs import
350     to handle the rest. Failed cvs import is turned into restartable
351     condition.
352    
353     * mapping.lisp (mapping-generate-name): Takes a suffix parameter.
354     The F-files now carry a suffix obtained from the original file,
355     because I have concluded that this was the only reasonable way
356     to integrate with CVS.
357    
358     2002-02-16 Kaz Kylheku <kaz@ashi.footprints.net>
359    
360 kaz 1.38 * add.lisp (mcvs-add): Last change completely broke add due
361     to not breaking out of the retry loop.
362    
363 kaz 1.36 2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
364    
365 kaz 1.37 * move.lisp (mcvs-move): If the mapping-update operation returns
366     nil, or terminates by a non-local jump, restore the filemap.
367     * mapping.lisp (mapping-update): When returning normally,
368     return t. When returning after doing a rollback, return nil.
369    
370     2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
371    
372 kaz 1.36 * error.lisp (mcvs-error-handler): Bugfix. We were closing over
373     a binding of the iteration variable of a dolist, which has only
374     one binding over the entire loop.
375    
376     * mapping.lisp (mapping-update): Gathers up info all local
377     clobbered files, and then throw the error. Provides restart
378     which allows user to print the list of clobbered files, and
379     a restart which allows the user to have those files clobbered.
380    
381     2002-02-13 Kaz Kylheku <kaz@ashi.footprints.net>
382    
383     * checkout.lisp (mcvs-checkout-wrapper): Bugfix for last bugfix.
384    
385 kaz 1.35 2002-02-11 Kaz Kylheku <kaz@ashi.footprints.net>
386    
387     * checkout.lisp (mcvs-checkout-wrapper): Bugfix for bad
388     destructuring-bind if there are no arguments.
389    
390 kaz 1.30 2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
391    
392 kaz 1.34 * mapping.lisp (mapping-difference): Reformatted documentation string.
393     (mapping-update): Implemented a continue restart which rolls back
394     the changes done to the local filesystem.
395    
396     2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
397    
398 kaz 1.31 * error.lisp (mcvs-error-handler): Rearranging the menu,
399     so "T" is clumped with the main options, and any special restarts
400 kaz 1.32 are clearly separated. Changed wording.
401 kaz 1.31
402     2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
403    
404 kaz 1.30 * update.lisp (mcvs-update): Re-print the "Invoking CVS" chatter
405     if the user re-tries the error.
406    
407     * add.lisp (mcvs-add): CVS failure is now a restartable error;
408 kaz 1.33 user can decide whether to roll back the effects or retry the
409     CVS add, or terminate to keep the effects anyway despite
410     the failed add.
411 kaz 1.30
412     2002-02-10 Kaz Kylheku <kaz@ashi.footprints.net>
413    
414     * install.sh: Stop the script if there are compilation errors.
415    
416 kaz 1.24 2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
417    
418 kaz 1.29 * error.lisp (*mcvs-errors-occured-p*): New special variable.
419     (mcvs-error-handler): Set *mcvs-errors-occured-p* to T.
420     * mcvs-main.lisp (mcvs): Take *mcvs-errors-occured-p* into
421     account in computing termination status.
422    
423     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
424    
425 kaz 1.28 * update.lisp: Remove spurious newlines from error messages.
426     * add.lisp: Likewise.
427     * options.lisp: Likewise.
428     * mapping.lisp: Likewise.
429    
430     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
431    
432 kaz 1.27 Adding some restarts around cvs update.
433    
434     * posix.lisp (execute-command-xargs): Bail with nil return
435     value if any command line fails.
436    
437     * update.lisp (mcvs-update): Tests return value of execute-program
438     and signal condition if it's nil. Provides a continue restart
439     as well as a retry restart to try the command again.
440    
441     * error.lisp (mcvs-error-handler): Show retry restarts as
442     a special menu item "R".
443    
444     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
445    
446 kaz 1.26 Added a much improved error handling routine in anticipation
447     of better use of restarts.
448    
449     * error.lisp: New file
450     (restart-destructure): New macro.
451     (*mcvs-error-treatment*): Special variable, moved here from
452     mcvs-main.
453     (mcvs-error-handler): New function.
454    
455     * mcvs-main.lisp (mcvs-top-error-handler): Function removed.
456     (mcvs-execute): Bind error to new mcvs-error-handler instad
457     of mcvs-top-error-handler.
458    
459     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
460    
461 kaz 1.25 * mcvs-main.lisp (*mcvs-command-table*): The "stat" abbreviation
462     for status command added.
463    
464     2002-02-09 Kaz Kylheku <kaz@ashi.footprints.net>
465    
466 kaz 1.24 Hooking conversion tool into command structure.
467    
468     * mcvs-main.lisp (*convert-options*): New constant.
469     (*mcvs-command-table*): New entry for mcvs-convert-wrapper.
470     * convert.lisp (mcvs-convert): Fix reference to nonexistent variable.
471     (mcvs-convert-wrapper): New function.
472    
473 kaz 1.22 2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
474    
475 kaz 1.23 Beginning work on repository conversion utility.
476    
477     * convert.lisp: New file. Contains conversion utility
478     to make an Meta-CVS repository from an ordinary CVS repository,
479     while preserving all history, tags and branches.
480     (remove-attic-component, classify-tags, read-tags,
481     mcvs-convert): New functions.
482    
483     * posix.lisp (suffix): New function. Computes suffix of file.
484     (execute-program-xargs): New optional parameter, for specifying
485     fixed part added at the end of each generated command line.
486    
487     * mapping.lisp (*mcvs-map-name*, *mcvs-local-map-name*): New constants.
488     (*mcvs-map*, *mcvs-map-local*): Redefined in terms of new constants.
489     (mapping-generate-name): New key parameter no-dir for not adding
490     the directory prefix.
491    
492     2002-02-08 Kaz Kylheku <kaz@ashi.footprints.net>
493    
494 kaz 1.22 * checkout.lisp (mcvs-checkout): Ensure local mapping is
495     sorted when written out, for easier comparisons.
496    
497 kaz 1.21 2002-02-07 Kaz Kylheku <kaz@ashi.footprints.net>
498    
499     * sync.lisp (synchronize-files): Return :dir symbol when either
500     argument is a directory.
501     * mapping.lisp (mapping-synchronize): Chatter output messages
502     are shorter. Handles :dir return value from synchronize-files.
503     (mapping-update): New sanity checks for moved and added
504     files, to avoid clobbering local files. Removed redundant
505     call to ensure-directories-exit in move logic, because
506     synchronize-files will do it anyway. Chatter messages reordered
507     to occur before their corresponding action is done.
508    
509     2002-02-07 Kaz Kylheku <kaz@ashi.footprints.net>
510    
511     Improve error handling, and builtin ``debug shell''.
512    
513     * mcvs-main.lisp (*mcvs-error-treatment*): Special variable
514     can have new domain value, namely :decline.
515     (mcvs-top-error-handler): Print error message when terminating
516     non-restartable error. Handle new :decline treatment by
517     simply returning.
518     (mcvs-debug-shell): Set *mcvs-error-treatment* to :decline
519     so that errors are caught by debugger.
520    
521 kaz 1.20 2002-02-04 Kaz Kylheku <kaz@ashi.footprints.net>
522    
523     * mapping.lisp (mapping-sort): Removed function.
524     (mapping-write): Sort written map by F- file names,
525     not by path names. This is far better for merging, because
526     files stay in the same place when they are renamed.
527    
528 kaz 1.17 2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
529    
530 kaz 1.19 Added status, log and annotate.
531    
532     * mcvs-main.lisp: (*log-options*, *status-options*,
533     *annotate-options*): New constants.
534     (*mcvs-command-table*): Add new entries.
535    
536     * generic-lisp (mcvs-log-wrapper, mcvs-status-wrapper,
537     mcvs-annotate-wrapper): New functions.
538    
539     2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
540    
541 kaz 1.18 Added tag command.
542    
543     * diff.lisp: File renamed to generic.lisp.
544     (mcvs-diff): Function renamed to mcvs-generic.
545    
546     * generic.lisp (mcvs-generic): Function no longer dedicated to
547     diffing only; takes CVS command to execute as an argument,
548     also takes arguments and files as separate lists.
549     (mcvs-diff-wrapper): Modified to invoke mcvs-generic properly.
550     (mcvs-tag-wrapper): New function, uses mcvs-generic to implement
551     tag command.
552    
553     * mcvs-main.lisp (*tag-options*): New constant.
554     (*mcvs-command-table*): New entry for tag command.
555    
556     2002-02-03 Kaz Kylheku <kaz@ashi.footprints.net>
557    
558 kaz 1.17 Added workaround for operating system argument passing limitations,
559     resembling the Unix xargs utility. Also, trimmed some fat
560     from the basename function.
561    
562     * clisp-linux.lisp: (*argument-limit*): New constant added.
563     (arglist-to-command-string): Function removed.
564     (execute-program): Function removed.
565     (shell-interpreter): New function, wrapper for CLISP's shell
566     function, turns exit status into T (success) or NIL (failure).
567    
568     * diff.lisp (mcvs-diff): Uses execute-program-xargs instead
569     of execute-program.
570    
571     * posix.lisp (basename): Does not canonicalize path name. This
572     turns out to be an unnecessary performance hit in some cases.
573     (arglist-to-command-string): New function. Similar to what was
574     removed from clisp-linux, but this one properly escapes all
575     shell metacharacters.
576     (execute-program): New function, calls shell-interpreter.
577     (execute-program-xargs): New function. Takes two argument lists.
578     Forms one or more command lines by combining the first argument list
579     with one or more pieces of the second argument list, and
580     executes each command. The length of the pieces is determined
581     by the argument passing limit.
582    
583     * dirwalk.lisp (ensure-directories-gone): Add use of
584     canonicalize-path because basename doesn't do it.
585    
586 kaz 1.12 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
587    
588 kaz 1.16 Algorithmic efficiency improvements. No longer using
589     abstract set operations to update file structure or find
590     duplicates in the maps. Could still streamline the sorting.
591    
592     * mapping.lisp (mapping-sort): Express more succinctly using key.
593     (mapping-dupe-check): Rewrite using loop over sorted lists.
594     (mapping-difference): New function for computing mapping change.
595     (mapping-update): Modify to use mapping-difference.
596    
597     2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
598    
599 kaz 1.15 * mapping.lisp (mapping-update): When moving files, ensure
600     that the target is unlinked if it exists.
601    
602     * move.lisp (simple-rename): No longer do target unlinking
603     here. Also bugfix: it wasn't handling renames of directories
604     containing just one file.
605    
606     2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
607    
608 kaz 1.13 * mapping.lisp (mapping-dupe-check): New function for
609     detecting duplicate objects or paths in a mapping.
610     (mapping-sane-p): Function removed.
611     (mapping-read): Use mapping-dupe-check to verify a map
612     when asked by the sanity-check keyword.
613     (mapping-update): Specify sanity check when reading MCVS/MAP.
614    
615 kaz 1.14 * checkout.lisp (mcvs-checkout): Checkout also performs
616     sanity check.
617    
618 kaz 1.13 2002-02-02 Kaz Kylheku <kaz@ashi.footprints.net>
619    
620 kaz 1.12 * mcvs-main.lisp (mcvs): Use CLISP's exit function correctly
621     to establish proper termination status.
622    
623 kaz 1.8 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
624    
625 kaz 1.10 * mcvs-main.lisp (mcvs-execute): Parse command-specific options
626     properly based on knowledge of each command's set of options.
627     (parse-args): Function removed.
628    
629 kaz 1.11 * options.lisp (parse-opt): Correctly process long options with
630     arguments. Argument is part of the string, separated by = symbol.
631    
632 kaz 1.10 2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
633    
634 kaz 1.9 * options.lisp (parse-opt): When multiple options characters are
635     bunched up into one argument, and one of them other than the
636     last one takes an argument, then the remaining ones are
637     considered to constitute a string which is an argument to that
638     option. For instance -y32 means -y 32, not -y -3 -2, assuming
639     that y is an option that requires an argument.
640    
641     2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
642    
643     Top level handler terminates by non-local exit back to
644     mcvs function, rather than by calling (exit).
645    
646     * mcvs-main.lisp (mcvs-top-error-handler): Restructured
647     to call (throw 'mcvs-exit t).
648     (mcvs-execute): Ensure that NIL is returned by normal exit.
649     (mcvs): Catches 'mcvs-exit throw, and calls (exit 0) or (exit 1)
650     accordingly.
651    
652    
653     2002-01-31 Kaz Kylheku <kaz@ashi.footprints.net>
654    
655 kaz 1.8 Renamed all ``filemap-'' functions to ``mapping-'' prefix.
656    
657     * mapping.lisp (filemap-generate-name, filemap-sort,
658     filemap-extract-paths, filemap-lookup, filemap-prefix-lookup,
659     filemap-prefix-matches, filemap-object-lookup,
660     filemap-same-object-p, filemap-same-path-p, filemap-moved-p,
661     filemap-rename-files, filemap-sane-p): Old names removed.
662     (mapping-generate-name, mapping-sort,
663     mapping-extract-paths, mapping-lookup, mapping-prefix-lookup,
664     mapping-prefix-matches, mapping-object-lookup,
665     mapping-same-object-p, mapping-same-path-p, mapping-moved-p,
666     mapping-rename-files, mapping-sane-p): New names created.
667     (mapping-read, mapping-write, mapping-synchronize,
668     mapping-update): Edit calls to renamed functions.
669     * add.lisp (mcvs-add): Likewise.
670     * diff.lisp (mcvs-diff): Likewise.
671     * filt.lisp (mcvs-filt): Likewise.
672     * import.lisp (mcvs-import): Likewise.
673     * move.lisp (simple-rename, simple-move-to-dir, move-guts): Likewise.
674     * remove.lisp (mcvs-remove): Likewise.
675    
676 kaz 1.6 2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
677    
678 kaz 1.7 Factored out repeated code for reading and writing of the MAP and
679     MAP-LOCAL files.
680    
681     * mapping.lisp (mapping-read, mapping-write): New functions.
682     (mapping-synchronize, mapping-update): Use new functions.
683     * move.lisp (mcvs-move): Likewise.
684     * filt.lisp (mcvs-filt): Likewise.
685     * add.lisp (mcvs-add): Likewise.
686     * remove.lisp (mcvs-remove): Likewise.
687     * checkout.lisp (mcvs-checkout): Likewise.
688     * diff.lisp (mcvs-diff): Likewise.
689     * import.lisp (mcvs-import): Likewise.
690    
691     2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
692    
693 kaz 1.6 * filt.lisp (mcvs-filt): use *mcvs-dir* variable instead of
694     hard coding "MCVS" string.
695    
696     2002-01-30 Kaz Kylheku <kaz@ashi.footprints.net>
697    
698     * MCVS-PAPER: Renamed to Meta-CVS-PAPER
699    
700     * README: Change all references to MCVS to Meta-CVS, the
701     new official name of the program.
702     * add.lisp: Likewise
703     * chatter.lisp: Likewise
704     * checkout.lisp: Likewise
705     * clisp-linux.lisp: Likewise
706     * commit.lisp: Likewise
707     * diff.lisp: Likewise
708     * dirwalk.lisp: Likewise
709     * filt.lisp: Likewise
710     * import.lisp: Likewise
711     * INSTALL: Likewise
712     * mapping.lisp: Likewise
713     * mcvs-main.lisp: Likewise
714     * Meta-CVS-PAPER: Likewise
715     * move.lisp: Likewise
716     * options.lisp: Likewise
717     * posix.lisp: Likewise
718     * RELEASE-NOTES: Likewise
719     * remove.lisp: Likewise
720     * restart.lisp: Likewise
721     * seqfuncs.lisp: Likewise
722     * split.lisp: Likewise
723     * sync.lisp: Likewise
724     * system.lisp: Likewise
725     * update.lisp: Likewise
726    
727 kaz 1.4 2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
728    
729 kaz 1.5 * move.lisp (move-guts): test the actual filesystem as well
730     as the map for existence of a directory or file. This makes
731     the move operation behave better. Files can be moved to an
732     existing directory that is not known to MCVS, and a file
733     can properly clobber a target file that is not known to MCVS.
734    
735     * clisp-linux.lisp (directory-p, regular-p, symlink-p): define
736     methods for these generic functions for a NIL argument, such
737     that they return NIL.
738    
739     2002-01-28 Kaz Kylheku <kaz@ashi.footprints.net>
740    
741 kaz 1.4 * move.lisp (simple-move-to-dir): eliminated a bunch of code
742     with the result that mcvs mv now works more like the Unix mv
743     when moving a directory to another directory.
744    
745     * mcvs-main.lisp (mcvs-execute): fix bogus error message
746     when options are given but no command.
747    
748     * README: don't use -z3 in example because this style of
749     specifying an argument to an option doesn't work.
750    
751 kaz 1.1 2002-01-27 Kaz Kylheku <kaz@ashi.footprints.net>
752    
753     * add.lisp (mcvs-add): Remove bogus test for NIL or T; allow
754     recursivep to be a generalized boolean variable. This allows
755     mcvs add -R to work properly.
756 kaz 1.2
757     * mcvs-main.lisp (*cvs-command-options-arg*): add support
758     for -u parameter, useful in cvs diff.
759 kaz 1.3 (*mcvs-command-table*): Add "fi" shorthand for "filt".

  ViewVC Help
Powered by ViewVC 1.1.5