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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5