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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5