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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.128 - (hide annotations)
Tue Jul 2 18:32:52 2002 UTC (11 years, 9 months ago) by kaz
Branch: MAIN
Changes since 1.127: +11 -0 lines
* purge.lisp (mcvs-purge): Factor out code for computing
deleted files.

* mapping.lisp (mapping-removed-files): New function, contains
code factored from mcvs-purge.

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

  ViewVC Help
Powered by ViewVC 1.1.5