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

Contents of /meta-cvs/F-0C9187C87304A15BD59A42657A3BE5A3

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.5