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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5