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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.79 - (hide annotations)
Wed Apr 3 00:55:04 2002 UTC (12 years ago) by kaz
Branch: MAIN
Changes since 1.78: +13 -0 lines
Implemented remerge command; redo a merge without moving
around any tags.

* branch.lisp (mcvs-merge): New keyword parameter remerge-p
to indicate that a re-merge should be done, plus logic for
doing so.
(mcvs-remerge-wrapper): New function.

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

  ViewVC Help
Powered by ViewVC 1.1.5