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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5