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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5