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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5