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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.107 - (hide annotations)
Sun Jun 23 19:18:11 2002 UTC (11 years, 9 months ago) by kaz
Branch: MAIN
Changes since 1.106: +14 -0 lines
The ``import'' command is renamed to ``create''.

* mcvs.main (*create-options*): Renamed to *import-options*.
(*mcvs-command-table*): Updated.
(*usage*): Updated.

* import.lisp: File renamed to create.lisp.
(mcvs-import): Renamed to mcvs-create; some arguments renamed.
(mcvs-import-wrapper): Renamed to mcvs-create-wrapper.

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

  ViewVC Help
Powered by ViewVC 1.1.5