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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5