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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5