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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5